Information Technologies Bartosz Ziółko Introduction Dr inż. Bartosz Ziółko Office C2-418 Phone 36-39 Lecture PDF files on: http://upel.agh.edu.pl/weaiie Acknowledgments: dr inż. Jacek Kołodziej Wikipedia Anonymous Google findings 3 What IT is? Generally, integration of a few technologies: hardware, software, telecommunications •applied for collecting information, •selection, •analysis, •processing, •security, •managment, •transfering information. Homo sapiens, homo communicans Information society „An information society is a society in which the creation, distribution, diffusion, use, integration and manipulation of information is a significant economic, political, and cultural activity. ” -Wikipedia Lectures • Introduction to the aspects of information society and information technologies • Introduction to information storage and processing • Introduction to computer hardware • Introduction to computational and programming techniques • Introduction to telecommunications, multimedia, human - computer interaction and IT in finances • Test and student presentations Software for FREE !!! ELMS (E-Academy License Management System) elms.iisg.agh.edu.pl You need an account on AGH student server Don’t use illegal software, especially if you can have legal one for free !!! Grades • presence on the lectures (20%), • final test (50%), • preparing own document in LaTeX (10%), • preparing a presentation (20%). 91 – 100% (5.0) 81 – 90% (4.5) 71 – 80% (4.0) 61 – 70% (3.5) 51 – 60% (3.0) < 51% (2.0) Extra 10% is possible for making a website or multimedia content Why IT? • All major companies depend on IT services (banks, telecommunications, media, insurance, trade, etc.), • IT specialists earn in average more then other specialists, • Even more will depend on IT and on people who work with IT in near future. 2020 – the era of 1 user and 1000 computers Some photos from the following lectures Topics for today • Computer ergonomics • Fundamentals of health and safety while working with a computer and on the campus • Copyrights and patents • Searching for information in order to self-educate and problem solving • Ethical principles in the academic community and among the engineers • Different types of word processors • The principles of good multimedia presentation Computer ergonomics 14 Computer ergonomics 15 Computer ergonomics 16 17 Health and safety You should be trained regarding H&S for each laboratory class you attend Law dictates that your future employer is responsible for your safety and health 18 Health and safety 19 Health and safety Several students and staff members were seriously or even fatally wounded on AGH university properties 20 Copyright is a set of exclusive rights granted by the law of a jurisdiction to the author or creator of an original work, including the right to copy, distribute and adapt the work. prawa autorskie vs. autorskie prawa majątkowe books, maps, charts, engravings, prints, musical compositions, dramatic works, photographs, paintings, drawings, sculptures, motion pictures, computer programs, sound recordings, choreography and architectural works. 21 Privacy policies in Internet 22 34% of US GDP is generated by intelectual property trade. Fundamentals in patent law and strategy Based on Jeffrey Schox What are the types of intellectual property? What are the sections of a patent? What is the patent process? Why should we file for a patent? What is an invention? Who is an inventor? When should we file? Where should we file? What are the types of intellectual property? Trademarks Utility Patents Design Patents Copyrights Trade secrets $2 000 $20 000 $2 000 $200 $2 Sections of a patent Front page Description Claims – – – bibliographic technical legal Patent process 1. File patent application. 2. Await examination. 3. Negotiate with patent office. Why should we file for a patent? Why should we file for a patent? • Encourage investment. • Protect competitive advantage. • Avoid patent litigation. What is an invention? What is an invention? Who is an inventor? Who is an inventor? „Someone who contributed to the original conception of the claimed invention.” When should we file? Where should we file? Where should we file? • Made and used / sold • US, EU, CN, JP, KR, AU Requirements of a patent Requirements of a patent •Useful •Novel •Not an obvious combination of known inventions Is this invention patentable? And this one? Summary An invention may be patentable if claims can be written that distinguish the invention from previous inventions. Infringement of a patent Whoever makes, uses or sells any patented invention within a particular region during a particular timeframe. Would this product infringe? Summary A product (or method) may infringe a patent if it contains all of the elements of a single claim of the patent. What is the relation between patentability and infrigement? Patentability and infringement are unrelated issues. 2012 AGH Alumni Searching for information in order to self-educate and problem solving • Where do you search for information? • How do you search? • What are the risks of your method? • What do you do to solve a problem? Some people name it being clever 55 Some people name it cheating 56 For me, it is an academic offence ! Regulamin studiów AGH § 15 ZALICZENIA 6. Jeżeli w trakcie procedury zaliczania prowadzący stwierdzi niesamodzielność pracy studenta lub korzystanie przez niego z niedozwolonych materiałów, student otrzymuje ocenę niedostateczną z tego zaliczenia. §5 PRAWA I OBOWIĄZKI STUDENTA 6. Za naruszenie przepisów obowiązujących w Uczelni oraz za czyny uchybiające godności studenta, student ponosi odpowiedzialność dyscyplinarną przed Komisją Dyscyplinarną albo przed właściwym Sądem Koleżeńskim, na zasadach określonych w Ustawie. Za przewinienia mniejszej wagi Rektor może wymierzyć karę upomnienia. 57 Plagiarism and self-plagiarism ? Engineers responsibility Word processor/ text editor • What you see is what you get (WYSIWYG) • Document markup language Rules of editing • • • • Interlines – 1,5 (official letters) Margins – 2,5 Font size – 12 Shift+ctrl+space • Headers • Review mode • Aa LaTeX • • • • • • • • • • Separation of content and style Flexibility Control Quality Scalability Stability Cost Platform independent Bibliography/reference package Typesetting of mathematical formulae in a convenient way Disadvantages of LaTeX (by Tobias Oetiker) • LATEX does not work well for people who have sold their souls . . . • Although some parameters can be adjusted within a predefined document layout, the design of a whole new layout is difficult and takes a lot of time. • It is very hard to write unstructured and disorganized documents. • Your hamster might, despite some encouraging first steps, never be able to fully grasp the concept of Logical Markup. LaTeX DEMO http://www.ctan.org/texarchive/info/lshort/english/lshort.pdf LaTeX Homework • Prepare a document with some graphics and tables in LaTeX with any, your own content. • Put your name as the author. • Send all necessary files (including ready pdf) to [email protected] till end of the month. • It is 10% of the final grade. PDF (Portable Document Format) • Representing two-dimensional documents in a manner independent of the application software, hardware, and operating system. • Standard for printable documents on the web. • Content can be secured from changing and copying. The principles of good multimedia presentation • Not too long, not too short. • Based on graphics and data not on text (avoid slides with text only). • Not too much animation and gadgets. • Use some (but not much) sound effects. • Easily readable (contrast of colour). • Do not read your slides. • Interesting, a bit funny or suprising. • Try your presentation before. • Minimal font size 24 pt. Information processing Topics • Fundamentals of information • Basic methods and formats of data in a computer • Analogue, digital, discrete signals and their conversion • Sampling, quantization, Nyquist frequency • Spectrum, bandwidth • Shannon-Kotielnikov theory and aliasing • Number systems, representations of real and negative numbers in computers • Boolean logic, gates and De Morgan's laws Bits, data, information Information Theory „I wrote this one [a letter] a bit longer, because I did not have time to write it shorter” – Blaise Pascal (1623– 1662), Lettres Provinciales Information theory characterises recording, storing and using information in a mathematical way. There are two main aims (opposite ones): - to save a carrier, - to keep the information safe during transmission. Algorithms operating on numbers, are much easier and faster then those operating on words. Berry Paradox by Russel: „The smallest positive integer not definable in under eleven words.” … and that’s how we’ve just defined it … The definition cannot be a part of an object being described. Information measure Information is measured by a probability of an event related to that information – Claude E. Shannon Entropy Less likely events carry more information Information measure • A unit of information is such its amount which we gain after realising that one of two equally probable events occured. • Message m, which can occur with probability p(m), contains 1 h(m) log 2 p ( m) units of information. Let us define a unit of information to be a bit (binary digit) if its source can transmit only one message, which contains 1 h(m) log 2 0 1 bits of information. after Zbigniew Bem Bit Simpler, bit is the amount of information that can be stored by a digital device or other physical system that can usually exist in only two distinct states, traditionally called 0 and 1. Byte and Word 1 0 0 1 1 0 0 0 Bit MSB - most significat bit LSB - least significat bit Byte Byte is a sequence of 8 bits used in computers as a basic unit, on which the operations are conducted. 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 Word Word is a sequence of 8, 16, 32 or 64 bits. after Wojciech Kucewicz Bytes and words In IT we often need 16 digits. A = 10, B = 11, C = 12, D = 13, E = 14, F = 15 Word size 8 bits 16 bits 32 bits 64 bits The biggest number 255 65535 4 294 967 295 18 446 744 073 709 551 615 Letters as numbers – ASCII codes - Wikipedia Unicode UTF-8 (8-bit Unicode Transformation Format) is a variable-length character encoding for Unicode. UTF-8 can represent every character in the Unicode character set, and is backwardcompatible with ASCII. The dominant character encoding for files, e-mail, web pages and software that manipulates textual information. ISO 8859-1 Latin - 1 Standard for Western European fonts. Very similar to Windows-1252. ISO 8859-2 Central and Eastern European fonts Sounds For a computer it is a sequence of numbers representing temporary acoustic pressure sampled with some frequency (8 kHz, 48 kHz, …) Black and white images Images can be represented as a matrix of points (pixels). Colour images Colour images are represented by 3 matrices. All of them have the same size, equalled to the size of a screen. Each pixel is represented by three numbers. Quattron technology Analog to Digital Analog signal can have any values. Real world is analog. They are represented by differentiable functions (continuous). Discrete signal is defined for particular points in time, usually because of sampling. Typical for analysis of real world. Digital signal is discrete and in addition can take only particular values. This is Matrix. Analog to Digital Analog signal can have any values. Real world is analog. They are represented by differentiable functions (continuous). Discrete signal is defined for particular points in time, usually because of sampling. Typical for analysis of real world. Digital signal is discrete and in addition can take only particular values. This is Matrix. Example 6 Analog signal Discrete signal 5 Digital signal 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Example of different sampling 44 [kHz] 8 [kHz] Adaptation of quantization and sampling Analog to Digital and Digital to Analog Nyquist Frequency fs – sampling frequency - ratio of information BW – BandWidth of a signal fS>BW Harry Nyquist (1889-1960) „The number of independent pulses that could be put through a telegraph channel per unit time is limited to twice the bandwidth of the channel”. Nyquist: Certain topics in Telegraph Transmission Theory (1928). What a spectrum (spectre ?) is ? • It may present any signal in a frequency domain (Hz) • Allows better analysis for signal processing and transmission Signal Spectrum Spectrum Corrector Example of a speech signal Speech signals Bands • Transmission band fT • Signal band fS fT >fS Transmission bands Frequency is limited, so expensive Kotielnikov – Shannon Theory Котельников 1933 Shannon 1949 They provided mathematical conditions (and proved them) for digital-to-analog being possible. 1 df t f s 2 f max , Can a sampled signal be restored to analog one? ● 1 ● ● ● 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 Aliasing 5 6 7 8 Examples of aliasing original 44 100 Hz limited bandwidth with aliasing sampling frequency 11 025 Hz 6 000 Hz Representing numbers Decimal numeral system The system is positional aj …a4 a3 a2 a1 a0 . a-1 a-2 MMVIII where a is a symbol, and j is an exponent of the base r number aj...a1 a0 .a-1 a-2 aj•rj + ...+ a1•101 + a0•100 + a-1•10-1 + a-2•10-2 Example: 4321 = 4•103 + 3•102 + 2•101 + 1•100 = = 4000 + 300 + 20 + 1 = 432110 after Wojciech Kucewicz Binary Numeral System It uses only 2 symbols 0 and 1 The number of combinations is 2n for n digits. Example: 10000111000012 : 1•212+ 0•211+ 0•210+ 0•29+ 0•28+ 1•27+ 1•26+ 1•25+ 0•24+ 0•23+ 0•22+ 0•21+ 1•20 = 4096+128+64+32+1= 432110 After Wojciech Kucewicz Binary watch Hexadecimal system Hexadecimal number system uses 16 symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F The combination of numbers is 16n for n digits. Example: 10E116 1•163 + 0•162 + 14•161 + 1•160 = 4096+224+1= 432110 after Wojciech Kucewicz Numbers in different systems Decimal Binary Octal Hexadecimal 00 0000 00 0 01 0001 01 1 02 0010 02 2 03 0011 03 3 04 0100 04 4 05 0101 05 5 06 0110 06 6 07 0111 07 7 08 1000 10 8 09 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F Binary systems for +/- integers Sign and magnitude n 1 ASM 1bn1 bi 2i i 0 n2 i A b 2 1 b 2 U1 (One’s complement) U 1 i n 1 n 1 U2 (Two's complement) i 0 n2 AU 2 bn 1 2 n 1 bi 2i i 0 You can easily find the one's complement of a binary number by inverting the number (changing 1s into 0s and 0s into 1s). To determine the two's complement of a number, first take the ones's complement of the number and then add 1 to this number. Comparision of binary integer systems Type Binary notification Byte min min zero max NBC 00..0 00..0 11..1 0 255 0 65535 0 4294967295 U2 10..0 00..0 01..1 -128 127 -32768 32767 -2147483648 2147483647 SM 11..1 00..0 10..0 01..1 -127 127 -32767 32767 -2147483647 2147483647 U1 10..1 00..0 10..0 01..0 -127 127 -32767 32767 -2147483647 2147483647 Biased 00..0 01..1 11..1 -127 128 -32767 32768 -2147483647 2147483648 2 max 32-bit word min 0 max 16-bit word 1+2 min 2+4 Max 2+4+8 Fractions in binary Binary real numbers Floating point standard Floating point describes a system for representing numbers that would be too large or too small to be represented as integers. significant digits × baseexponent The base for the scaling is normally 2, 10 or 16. It can support a much wider range of values. Fixed-point representation (7 decimal digits with 2 decimal places), can represent the numbers 12345.67, 123.45, 1.23 and so on. Floating-point representation with 7 decimal digits could in addition represent 1.234567, 123456.7, 0.00001234567, 1234567000000000, and so on. Types of data in Intel x87 Floating Point Unit http://www.intel.com Data in computer memory • A size of a word can be larger then single byte — for example modern computers can operate on 64-bit words. It means that a particular instruction can modify 64 bits at once. • The memory architecture is addresed in a binary way. SPARC, Motorola 68000, PowerPC 970, IBM System/360, Siemens SIMATIC S7 Intel x86, AMD64, DEC VAX More natural for a computer then human Boolean algebra De Morgan's laws NOT (P OR Q) = (NOT P) AND (NOT Q) NOT (P AND Q) = (NOT P) OR (NOT Q) Introduction to computer hardware • • • • • • • • Moore's law The first computing devices Turing machine Von Neumann architecture The development of personal computers Computer memory types Elements of a computer Computer peripherals Hardware A printer consists of three main parts: the case, the jammed paper tray and the blinking red light. (Attrib.) Todd Van Hoosear s or ist ip s n h Tra r c pe More, More, Moore Critic s have predicted the imm inent 10,000,000,000 demise of Moore’s law ever since Gordon Moore stated it in 1965. s 1,000,000,000 th Electric al Engineers continue to on m 4 defy physical c hallenges, 2 Ita nium2 y er 592 Million v squeezing ever more e 100,000,000 Ita nium 2 es l b 220 Million u circuitry into less spac e d o Pentium 4 ip 42 Million Xeon 42 Million and making inform ation ch a 10,000,000 Ita nium 25 Million n Pentium II fly ever more so r 7.5 Million Celeron 7.5 Million o ist swiftly. s 5.5 Millio n Pentium Pro n 1,000,000 100,000 1958 Jac k Kilby (TI) & Robert Noyc e (intel) Invent Integrated Circuit 1965 Gordon Moore States his fam ous axiom , later c alled Moore’s law 1,000 o M 8080 4,500 8008 3,500 4004 First proc essor 2,000 1960 sit tra Pentium 3.1 Million 486 1.2 Million 386 275,000 286 134,000 8088 29,000 10,000 1947 Transistor Invented 1947 1950 e Th : aw sL ’ e or n de f yo 1970 1977 Apple II 1980 1999 1996 Blac kberry DVD Players 1991 Kodak First Digital Cam era 1983 Motorola First Mobile Phone 1990 2000 2010 Transistors in processors Intel Core i7 - 731M transistors How many are a milliard ? Milliard = 1000 * 106 It is a lot, but how many actually? A pile of money notes would have 76.2 km of height 1 milliard seconds are 32.5 years! Comparison The Eiffel Tower consists of 18 084 parts connected with 2.5 milions rivets after Software defined radio, Frideric Harris Do we eat a lot of rice ? There are more transistors being produced then rice grains all over the world! Wow! 0.13-micron, Intel Pentium 4 300-mm silicon wafer. Long Grain Jasmine Rice Evolution of computers Evolution of computers Evolution of a computer Adam @ Home Brian Basset History of computations Codex Madrid Logarithms John Napier of Merchiston (1550 – 1617) Napier’s bones Slide rule Invented in 1632 by Williama Oughtreda. Improved by E. Wingate, S. Patridge and A. Mennheim. In common use up to 80’. A shot from „Apollo 13” Wilhelm Schickard (1592-1635) Based on Neper’s bones Used by Kepler Blaise Pascal (1623-1662) Made to help in tax calculations Gottfied Leibniz (1646 – 1716) Binary system 1st multiplying mechanical machine Joseph-Marie Jacquard (1752-1834) Programmable loom (weaving) Charles Babbage (1791 - 1871) Concept of a programmable computer Herman Hollerith (1860-1929) Applying electricity to computations Punched card Hollerith built machines under contract for the Census Office Alan Turing (1912-1954) • In 1936 revolutionary work on the theory of computation machines and algorithms. • Turing declared that his machine is able to conduct any algorithm. It was never disproven. John von Neumann (1903-1957) 1946 - EDVAC project (Electronic Discrete Variable Automatic Computer) Software content Memory Arithmetic Logic Unit Modern computers are built with his architecture Control unit Input/Output ENIAC 1947 – transistor (William Bradford Shockley, J. Bardeenem and W.H. Brattainem) – Nobel prize 1953 – IBM 650, first mass production computer (using punched cards) 1955 - Bell Telephone Labs made the first computer based on transistors 1956 – First hard drive (IBM) What is it? 1972 - Intel 8008 (200 kHz) 1st 8-bit processor Intel museum Intel museum Intel musuem Microsoft 1975 BASIC for Atari 1977 - Microsoft provides BASIC to almost every new microcomputer: Apple, Commodore, Radio Shack, … more then 1000 computers all over the world Amiga 500 A computer with 16- bit procesor 68000 (1987) Random-access memory (RAM) Integrated circuits that allow stored data to be accessed in any order (i.e., at random). "Random" refers to the idea that any piece of data can be returned in a constant time, regardless of its physical location and whether or not it is related to the previous piece of data. Volatile – requires power Read-only memory (ROM) It is mainly used to distribute firmware (software that is very closely tied to specific hardware, and unlikely to require frequent updates). Non-volatile EPROM - can be erased and re-programmed multiple times. USB 2.0 (Universal Serial Bus) Pin 1 Pin 2 Pin 3 Pin 4 VCC (+5V) DataData+ Ground 60 MB/s (40 MB/s) 156 157 Hard drive 158 Hard disk A pair of mated head sliders with their platter removed. You can see that the tension of the head arms has caused them to press against each other. This illustration gives you some idea of just how small the flying height of a modern hard disk is (and today's hard disks have flying heights significantly lower than 3-7 millionths of an inch! 159 Task manager on Windows DEMO 160 FAT 32 (File Allocation Table) 161 NTFS (New Technology File System) 162 Partitions 163 PenDrive • Flash EEPROM • USB 164 SD (Secure Digital) 165 CD 166 CD ROM 167 CD ROM 168 DVD Digital Versatile Disc 169 DVD 170 Blu-Ray 25 GB (single-layer) 50 GB (dual-layer) 171 First mouse 172 Mouse 173 New mouse-keyboard 174 UPS (Uninterruptible Power Supply) 175 ESD (Electro-Static Discharge) 176 Synchronic and asynchronic transmission 177 Simplex and duplex transmission 178 Introduction to computational and programming techniques • Operational systems • Parallel processing • Supercomputing 181 Software • Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. Rick Cook, Wizardry Compiled • I would love to change the world, but they won’t give me the source code. Unknown • Software is like sex — it’s better when it’s free. (attrib.) Linus Torvalds, creator of the Linux kernel Software Software is the collection of computer programs and related data that provide the instructions telling a computer what to do. • Application software • Middleware controls and coordinates distributed systems • Programming languages and tools • System software • Testware • Firmware is treated like hardware and run by other software programs • Device drivers Operating systems BIOS (Basic Input/Output System) • firmware • the first code run by a PC when powered on (booting) • the primary function of the BIOS is to load and start an operating system • to initialise and identify system devices such as the video display card, keyboard and mouse, hard disk, CD/DVD drive and other hardware • locates software held on a peripheral device (designated as a 'boot device'), such as a hard disk or a CD, and loads and executes that software, giving it control of the PC. 186 Big O notation 187 Complexity of problems The abbreviation NP refers to "nondeterministic polynomial time„ Intuitively, NP is the set of all decision problems for which the 'yes'-answers have efficiently verifiable proofs of the fact that the answer is indeed 'yes'. More precisely, these proofs have to be verifiable in polynomial time (T(n) = O(nk) for some constant k by a deterministic Turing machine. For example, an algorithm that runs for 2n steps on an input of size n requires superpolynomial time (more specifically, exponential time). ! (Factorial) 188 Traveling salesman problem (NP) 189 Parallel processing – Amdahl’s law AL is used to find the maximum expected improvement to an overall system when only part of the system is improved. It is often used in parallel computing to predict the theoretical maximum speedup using multiple processors. The speedup of a program using multiple processors in parallel computing is limited by the time needed for the sequential fraction of the program. If a program needs 20 hours using a single processor core, and a particular portion of 1 hour cannot be parallelised, while the remaining promising portion of 19 hours (95%) can be parallelised, then regardless of how many processors we devote to a parallelised execution of this program, the minimum execution time cannot be less than that critical 1 190 hour. Amdahl’s Law 191 Programming of parallelisation Parallelisation of computing requires using special libraries like MPI. Special markups have to be set to define what should be parallel and to establish some communication between different threads. It seems to be unlikely that this job will ever be done automatically by a compiler. A computer cannot predict exact times of running particular parts of programmes. Some threads need results of other threads so they are not independent of each other. 192 Parallel Processing • In real life situation there are some additional operations which have to be conducted in case of parallelisation to keep order of the parallel structure. • Processors reached level where they can not become faster without considering additional physical effects because of a ratio between frequency and size of a microprocessor and too low speed of electrons. 193 Super linear speedup • Sometimes a speedup of more than p when using p processors is observed. • One possible reason for a super linear speedup is the cache effect (cache is memory in a processor, which can be accesed faster then RAM). • Super linear speedups can also occur when performing backtracking in parallel: One thread can prune a branch of the exhaustive search that another thread would have taken otherwise. 194 FLOPS, MIPS • FLOPS (FLoating point Operations Per Second) – a unit of measuring computer computation efectiveness. It is a number of floating point operations per second. – – – – 1 1 1 1 MFLOPS GFLOPS TFLOPS PFLOPS • MIPS (Million Instructions Per Second) – a measure of CPU efectiveness. It describes the number of millions of fixed point operations per second made by the particular unit. • A similar one is Milion Operations per Second (MOPS). 195 Cyfronet - Zeus The most powerful computer in Poland • OS: Scientific Linux • Configuration: HP Cluster Platform 3000 BL 2x220 • RAM: 8 TB • Processors: Intel Xeon • Hard drives: 640 TB 55 Tflops http://www.cyfronet.pl/?a=komunikat20101011196 What are supercomputers used for? • Simmulation of new chemical particles, catalysts, etc. • Designing new medicaments, • Studying proteins, • Geological calulations, • Simmulations in physics, especially nuclear, • Virtual experiments, • Linguistic calculations, • Network simmulations. 197 Supercomputer – Cray - 1A CRAY-1 in EPFL (École Polytechnique Fédérale de Lausanne) 198 Supercomputer – Cray-2 199 Supercomputer – Cray-XT4 Multiprocessor system Processors AMD connected directly to a communication bus Cray XT4 with SeaStar2™ (routing and communication system) with speed 6.4 GB/s (HyperTransport™) in 3D topology 200 Supercomputer– Cray-XT4 201 TOP 500 • A website presenting a list of 500 most efficient computers was established in 1993 year: – Computational power is measured using LINPACK benchmark. – It is updated 2 times per year. • www.top500.org We estimate, that a brain is able to conduct around quadrillion (1015) operations per second. 202 TOP 500, 1st place US TOP 500, 2nd Kobe, Japan TOP 500, 3rd US TOP 500, 4th Germany TOP 500, 5th China Poland in TOP500 TOP 500 providers segments continents countries Operating system family Operating systems Mercedes in Nasza Klasa 215 TOP 500 Blue Gene • IBM Watson Research Center architecture • Second generation Blue Gene/P – 294 912 IBM PowerPC450 cores, 850 MHz, a processor has 4 cores. – 1 PFLOPS (petaflops - 1015 operations per second) 100 000 times faster then a desktop PC. – 32 procesors on a chip. – 32 chips in a rack. – A supercomputer can have up to 216 racks (884 736 cores) and have 3 petaflops as a result. 216 TOP 500 Blue Gene 217 TOP 500 Blue Gene 218 TOP 500 BSC-CNS Barcelona Supercomputing Center National Supercomputing Facility in Spain Torre Girona Cathedral 219 BSC-CNS 220 BSC-CNS 221 BSC-CNS http://www.bsc.es 222 Computer clusters • • • • Applications with databases are not easly paralelised, Clusters are architectures highly integrated, localised in one building, Used for safety, And for efficiency as well. Columbia, (2004) supercomputer, 20 clusters SGI Altix , 10240 CPU in total 223 Clusters - Beowulf – Efficient PCs as nodes, – GNU/Linux, – Paraller processing software (MPI, PVM). Beowulf 224 Clusters BlueGene/L uses a three-dimensional (3D) torus network 225 Grid computing Grid computing concerns the application of the resources of many computers in a network to a single problem at the same time - usually to a scientific or technical problem that requires a great number of computer processing cycles or access to large amounts of data. 226 First virtual constructs similar to grids • GIMPS (Great Internet Mersenne Prime Search) • SETI@home (Search for Extra-Terrestrial Intelligence) • Berkeley Open Infrastructure for Network Computing http://boinc.berkeley.edu/ 227 Grid computing Grid computing requires the use of software that can divide and farm out pieces of a program to as many as several thousand computers. Grid computing can be thought of as distributed and large-scale cluster computing and as a form of network-distributed parallel processing. It can be confined to the network of computer workstations within a corporation or it can be a public collaboration (in which case it is also sometimes known as a form of peer-to-peer computing).228 229 Middleware At the core of grid computing is the middleware: it consists of a series of software components that realise the interface between the distributed resources on one side, and the applications on the other side. These components include resource discovery, job scheduling, authentication and authorization, data logging, data transfer and replication etc. 230 Very large scale projects 231 Grid computing is driven by five big areas (after Gridcafe) • Global sharing is the very essence of grid computing. • Trust between resource providers and users is essential, especially when they don't know each other. Sharing resources conflicts with security policies in many individual computer centers, and on individual PCs, so security is crucial. • Efficient, balanced use of computing resources • Distance should make no difference: you should be able to access to computer resources from whereever you are. • Open standards: Interoperability between different grids is a big goal, and is driven forward by the adoption of open standards for grid development, making it possible for everyone to contribute constructively to grid development. Standardisation also encourages industry to invest in developing commercial grid services and infrastructure. 232 Grid users 233 Examples of grids 234 Grid computing 235 236 CERN 237 Cloud computing „We didn’t care where the messages went… the cloud hid it from us.” – Kevin Marks, Google 238 Cloud computing ? ? ? 239 How did it start? Amazon had a problem: - To loose potential buyers during Xmas … or - To keep computers being used only during Xmas 240 How did it start? They solved it by renting out computers when they don’t use them, but physically keeping them. To achieve it, they had to be able to do things Amazon wouldn’t expect people may need. 241 Cloud computing Cloud computing is a computing paradigm where services and data reside in shared resources in scalable data centers, and those services and data are accessible by any authenticated device over the Internet. It is one the most significant trend today, and is getting a lot of praise as an approach to rapidly include new computing facility and reduction of costs. Many enterprises and companies like Intel and AMD are working hard to determine how best can they expand this immature, but already profitable, technology called cloud. 242 Introduction to Cloud Computing 243 Essential Cloud Characteristics • On-demand self-service • Broad network access • Resource pooling – Location independence • Rapid elasticity • Measured service 244 245 Cloud computing 246 Cloud computing 247 Service Models Cloud Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. Cloud Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations. Cloud Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and 248 possibly limited control of select networking components (e.g., host firewalls) Cloud computing 249 Cloud computing 250 251 Cloud computing is simple 252 Clouds are in containers Clouds can be quickly built using shipping containers, pulled by trucks, and parked near electric utilities and rivers. Medium sized data center requires 50 mega-watts and evaporates 4M Litre of “chilled” fresh water / day. Conditioned air is also needed. Also, this does not consider bandwidth concerns. Result: Physical targets 253 254 Possible effects of cloud computing • Small enterprises use public SaaS and public clouds and minimise growth of data centers. • Large enterprise data centers may evolve to act as private clouds. • Large enterprises may use hybrid cloud infrastructure software to leverage both internal and public clouds. • Public clouds may adopt standards in order to run workloads from competing 255 hybrid cloud infrastructures. Computing as a commodity, like water and electricity 256 Data structures & Databases Data structures • • • • Stack Queue List Tree 258 Stack http://www.csanimated.com/animation.php?t=Stack 259 Queue http://www.csanimated.com/animation.php?t=Queue 260 List http://www.csanimated.com/animation.php?t=Linked_list 261 Tree 262 Databases 263 Database models 264 Flat files • • • • • • • good for non-technicians simple to open and interprete encoding issues hard to navigate no indexing loose schema low expressiveness 265 Hierarchical model In a hierarchical model, data is organised into a tree-like structure, implying a single upward link in each record to describe the nesting, and a sort field to keep the records in a particular order in each samelevel list. 266 Relational model The basic data structure of the relational model is the table, where information about a particular entity (say, an employee) is represented in rows and columns. Thus, the "relation" in "relational database" refers to the various tables in the database; a relation is a set of rows. The columns enumerate the various attributes of the entity (the employee's name, address or phone number, for example), and a row is an actual instance of the entity (a specific employee) that is represented by the relation. As a result, each row of the employee table represents various attributes of a single employee. 267 Key in a relational model Tables can also have a designated single attribute or a set of attributes that can act as a "key", which can be used to uniquely identify each row in the table. ID Email PESEL … 268 SQL (Structured Query Language) SELECT * FROM Book WHERE price > 100.00 ORDER BY title; 269 Relational database vs. object oriented databases • well known to developers • strict schema • support for transactions, concurrency, disaster recovery, etc. • SQL • client-server architecture Think of a library (with books) or an encyclopedia. You don’t need all the information, but you might need any piece of it. 270 SQL vs noSQL SQL – Structured Query Language – relational data bases (MySQL, Ms SQL, Oracle, SQLite ...) NoSQL - „not only SQL” - all other – key-value store, document store, graph DB, object DB, tabular ,… (BerkeleyDB, BigTable, CouchDB, Tokyo Cabinet, HODB …) Dawid Skurzok Choice of database engine Parallel trans. Relational Key-Value Tabular Document Tokyo Cabinet, CouchDB, Cassandra RDBMS (MySQL, Postgres, MS SQL) Pick any two! Changes BerkeleyDB, BigTable (Google), MongoDB Scalability Dawid Skurzok Interfaces GUI (graphical user interface) Typically GUI is responsible in 50% for a commercial success of software 274 Why ? ? ? 275 Old GUI 276 Human oriented interfaces 277 Principles of Good GUI Design By James Hobart Understand People Applications must reflect the perspectives and behaviors of their users. To understand users fully, developers must first understand people because we all share common characteristics. People learn more easily by recognition than by recall. Always attempt to provide a list of data values from which the user can select, rather than having the user key in values from memory. The average person can recall about 2,000 to 3,000 words, yet can recognize more than 50,000 words. 278 Principles of Good GUI Design By James Hobart Be Careful of Different Perspectives Many designers unwittingly fall into the perspective trap when it comes to icon design or the overall behavior of the application. I recently saw an icon designed to signify "Rolled Up" totals for an accounting system. To show this function, the designer put a lot of artistic effort into creating an icon resembling a cinnamon roll. Unfortunately, the users of the system had no idea what metaphor the icon was supposed to represent even though it was perfectly intuitive from the designer's perspective. A reserved icons table containing standard approved icons, such as the one shown in Figure 1, will help eliminate these problems. 279 Principles of Good GUI Design By James Hobart Design for Clarity GUI applications often are not clear to end users. One effective way to increase the clarity of an application is to develop and use a list of reserved words. A common complaint among users is that certain terms are not clear or consistent. I often see developers engaging in spirited debates over the appropriate term for a button or menu item, only to see this same debate occurring in an adjacent building with a different set of developers. When the application is released, one screen may say "Item," while the next screen says "Product," and a third says "Merchandise", when all three terms denote the same thing. This lack of consistency ultimately leads to confusion and frustration. 280 Principles of Good GUI Design By James Hobart Design for Consistency Good GUIs use consistent behavior throughout the application and build upon a user's prior knowledge of other successful applications. When writing software for business applications, provide the user with as many consistent behaviors as possible. For example, both the Embassy Suites and Courtyard Marriot hotel chains are growing rapidly due to their popularity among business travelers who know that they will be provided with a familiar room and a consistent set of amenities. The bottom line is that business travelers are not looking for a new and exciting experience in each new city. Business users of your software have similar needs. Each new and exciting experience you provide in the software can become an anxiety-inducing experience or an expensive call to your 281 help desk. Principles of Good GUI Design By James Hobart Provide Visual Feedback If you've ever found yourself mindlessly staring at the hourglass on your terminal while waiting for an operation to finish, you know the frustration of poor visual feedback. Your users will greatly appreciate knowing how much longer a given operation will take before they can enjoy the fruits of their patience. As a general rule, most users like to have a message dialog box with a progress indicator displayed when operations are going to take longer than seven to ten seconds. This number is highly variable based on the type of user and overall characteristics of the application. 282 Principles of Good GUI Design By James Hobart Be Careful With Audible Feedback Last week, I had the opportunity to ride in elevators in which a pleasant voice informed riders which floor they were on. The building was fairly new, and at first, employees thought the voice was cute. After six months of traveling floor to floor, employees are sure to ignore the voice and see it as more of an annoyance than a help. The same thing can happen with your GUls, except the annoying sounds are not contained within the walls of an elevator, but instead are available to everyone within earshot of the worker's cubicle. Put sound on a few hundred workstations, and a real cacophony emerges in the open-air cubicle environment. However, audible feedback can be useful in cases where you need to warn the user of an impending serious problem, such as one in which proceeding further could cause loss of data or software. Allow users to disable audio feedback, 283 except in cases when an error must be addressed. Boring ??? 284 Principles of Good GUI Design By James Hobart • • • • • Keep Text Clear Provide Traceable Paths Provide Keyboard Support Watch the Presentation Model Use Modal vs. Modeless Dialogs Appropriately • Use Controls Correctly http://www.classicsys.com/css06/cfm/article .cfm?articleid=20 285 The last example 286 Calculations and programming Calculations • • • • • Mathematica Matlab C/C++ GPU, CUDA FPGA Wolfram Mathematica AC transformers Allocation of bandwidth Crane model Dim city Effective resistance of network Fractal curves Frequency of a noisy signal Knots Line through 2 points Location of Complex Roots Model of shell growth Optimal queue of cars Straightening up an image Towers of Hanoi Matlab Matlab Matlab Matlab Matlab Toolboxes http://www.mathworks.com/products/product_listing/ http://www.mathworks.com/help/ Real computations should be in C/C++ • Matlab, Mathematica and several other tools are designed for allow easy work but not for time efficiency • No compilation • No computations on cache • Doubly embeded loops are very slow comparing to compiled C/C++ software • Matlab, etc. are for prototypes mainly Graphics processing unit (GPU) • is a specialized microprocessor that offloads and accelerates 3D or 2D graphics rendering from the microprocessor, • very fast, • very multithread, • bad acess to memory • nowadays often used for non-graphics calculations, • Cyfronet owns Playstations for computations! CUDA Field Programmable Gate Array (FPGA) • FPGA is an integrated circuit designed to be configured by the customer or designer after manufacturing—hence "fieldprogrammable". • Configuration is generally specified using a hardware description language (HDL) • Reprograming is slow • Calculations are fast Programing languages • • • • • • • • 1 gen – machine languages 2 gen – assembler 3 gen – Lisp, Cobol, Fortran 4 gen – specific purpose 5 gen – COBOL C C++ - object oriented Java, C# and .Net There is no best language! The most modern languages like Java and C# are wrong for several applications, even C++ is not optimal. In critical safety systems there is no place for dynamic allocation! Every function has to be hard coded and memory granted at the start of the program. Dynamic and static programing int data [10]; int *p; int size; cin >> size; p = new int[size]; delete [] p; Object oriented programming - class OOP is a programming paradigm that uses "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Microsoft Visual Microsoft Visual Java Garbage collector • In classic approach a software engineer has to take care of memory usage, • Non used variables have to be deleted to free memory, • Risk of memory leakage, • In Java and several other modern languages special hidden software is running all the time to take care of it – garbage collector, • Extra computations, still not perfect, but allows to focus on other issues. Code optimisation for time efficiency while (a<b) { %processing changing a and b for different i = 1…100 000 } Sorting – depending on exact algorithm, time efficiency varies a lot Good code optimisation reduces time down to half or 10% or even less, depending on a project. Testing • • • • • Regular testers Results of even minor faults of important systems Critical safety systems tests Checking all scenarios Mathematical proofs of correctness Markup languages One person and one computer ? • One computer for computations and the other for current tasks (often with the same screen) OR • 2 programists with one computer – pair programming. (Active) detailed view for one and general scope for the other (passive). When first became confused, they swap roles. Agile methods vs traditional one • • • • Amount of documentation Rapid prototyping Changing roles in a team Meetings (including clients) vs documentation SCRUM • Scrum team • ScrumMaster • Product owner The procedure of making information systems Version Control (CVS and SubVersioN) Version Control (CVS and SubVersioN) Version Control (CVS and SubVersioN) Version Control (CVS and SubVersioN) Dining Philosophers Problem Project management (group work) 1. Choose and specify a topic. 2. Brainstorming (do not criticise any ideas, only create new ones). 3. Analyse possibilities and resources. 4. Focus on timing, in IT tasks typically take 2-3 times more then originally expected. Project management (group work) 5. Take care that all group members know what they are expected to do and that their tasks do not overlap. 6. Keep the timing schedule. 7. Inform each other about progress and problems in particular tasks 8. Leave some time for combining of the results. Student projects • Very useful to gain practical engineering skills. • For several employers well done projects are the main criterion while recruting. Gantt charts • Microsoft Access Exercise for group work and prototyping • You have 12 minutes to prepare a prototype from paper, tape and a chair • The ball has to be transported as many times as possible in 1 minute from a table to the basket • The ball cannot be touched by a hand IT and Finances IT and stock markets • Modern stocks do not exist as papers, they are virtual. They exist only in stockmarket computers memory with additional copies on computers of stock traders. • Financial transactions are shifting records between stock traders. • An investor receives a confirmation from their stock trader but does not receive any documents. • It is the same with some part of money – they are virtual transactions between banks. • Delays of system on the 1st day of selling GPW on GPW. There were 4 transactions/second just on this paper, which is one of around 400 papers. Candlestick chart • • • • 18th century by Japanese rice trader Homma Munehisa Popularised by Charles Dow around 1900 White – rises Black - falls Computer traders • Much more then half stock trades in USA are computer decisions. • Computers can analyse trends (using candlestick charts) considering more data and take decisions much faster then a human. • There are large international companies which are present at once on a few stockmarkets. Some computers search for any differences in prices of these stocks and use them. • Stop losses is automatic selling in case of losses to avoid higher losses in case of crash of a market. New trend in computer trade • Trades offerts are accepted and displayed continuously but matched discretly (in ms) • It is possible to write software which uses information about incoming offerts before they are resolved • New offerts can be added before the analysed one are resolved so they can fit them and they will be resolved in the same discrete time • Time of calculations and connecting with the stockmarket is crucial Forex (foreign exchange market) • • • • • global worldwide decentralised currencies trading assists international trade and investment, • speculation • 24 h • allows high leverage IT in insurances and risk calculation • A house costs 1 000 000 $ • You estimate that there is 0.01% chance it burns • How much should it cost to insure it to earn some money? • Real cases are much more complex, it depends on months, political and economical situations, etc. • PZU insurance company used to assume that there is a flood causing serious financial problems every 17 years. • Complex calculations Risk calculation was started by Blaise Pascal IT in accounting • Modern accounting is all about proper using of databases. • People tend to think that accounting is very difficult. • My friend, who is an account manager told me, that engineers are wrong, thinking it is not possible to do it without account manager. • But she is very happy to have her job because they belive so … CAD CAD (Computer Aided Design) • is the use of computer technology for the process of design and designdocumentation • automotive, shipbuilding, and aerospace industries, industrial and architectural design, prosthetics • to produce computer animation for special effects in movies, advertising and technical manuals CAD - Techology • Originally software for Computer-Aided Design systems was developed with computer languages such as Fortran, but with the advancement of objectoriented programming methods this has radically changed. • Typical modern parametric feature based modeler and freeform surface systems are built around a number of key C modules with their own APIs (Application Programming Interface). • A CAD system can be seen as built up from the interaction of a graphical user interface (GUI) with NURBS (Non-uniform rational basis spline) geometry and/or boundary representation (Brep) data via a geometric modeling kernel. NURBS (Non-uniform rational basis spline) Examples of using CAD Examples of using CAD Examples of using CAD Examples of using CAD Networks and protocols Local Area Network (LAN) is a computer network that connects computers and devices in a limited geographical area such as home, school, computer laboratory or office building. • high data-transfer rates • no leased telecommunication lines Local Area Network (LAN) Protocols: • Ethernet over twisted pair cabling • ARCNET • Token Ring TCP/IP Can be constructed on Wi-Fi Larger LANs • use of redundant links with switches using the spanning tree protocol to prevent loops • ability to manage differing traffic types via quality of service (QoS) and to segregate traffic with VLANs. • wide variety of network devices such as switches, firewalls, routers, load balancers, and sensors. Wide Area Network (WAN) is a computer network that covers a broad area (any network whose communications links cross metropolitan, regional, or national boundaries) WANs are often built using leased lines, circuit switching or packet switching methods Packet over SONET/SDH, MPLS, ATM, Frame relay, X.25 Wide Area Network (WAN) Client and server architecture is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Client and server architecture clients include: • web browsers, • email clients, • online chat clients servers include: • web servers, • ftp servers, • application servers, • database servers, • name servers, • mail servers, • file servers, • print servers, • terminal servers. Most web services are also types of servers. Peer-to-peer networking (P2P) is a distributed application architecture that partitions tasks or work loads between peers. Peers are equally privileged, equipotent participants in the application. Skype File sharing systems They typically use distributed hash table-based (DHT) indexing Sharing of resources Sharing of resources Intranet is a private computer network that uses Internet Protocol technologies to securely share any part of an organisation's information or network operating system within that organisation. Intranet Extranet is a computer network that allows controlled access from the outside, for specific business or educational purposes. An extranet can be viewed as an extension of a company's intranet that is extended to users outside the company, usually partners, vendors, and suppliers. Extranet Internet is a global system of interconnected computer networks that use the standard Internet Protocol Suite (TCP/IP) Internet ARPANET – 1st Internet WWW is a system of interlinked hypertext documents accessed via Internet. Using concepts from earlier hypertext systems, English engineer and computer scientist Sir Tim BernersLee wrote a proposal in March 1989 for what would eventually become the World Wide Web. At CERN in Geneva, Switzerland, Berners-Lee and Belgian computer scientist Robert Cailliau proposed in 1990 to use "HyperText ... to link and access information of various kinds as a web of nodes in which the user can browse at will", and publicly introduced the project in December. Hypertext Transfer Protocol (HTTP) is a networking protocol for distributed, collaborative, hypermedia information systems Hypertext Transfer Protocol (HTTP) HTTP functions as a request-response protocol in the client-server computing model. High-traffic websites often benefit from web cache servers that deliver content on behalf of the original, socalled origin server to improve response time. File Transfer Protocol (FTP) is a standard network protocol used to copy a file from one host to another over a TCP/IP-based network Secure Shell (SSH) is a network protocol that allows data to be exchanged using a secure channel between two networked devices. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary. Secure Shell (SSH) Hypertext Transfer Protocol Secure (HTTPS) is a combination of the Hypertext Transfer Protocol with the SSL/TLS protocol to provide encrypted communication and secure identification of a network web server. Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), are cryptographic protocols that "provide communications security over the Internet. Virtual Private Network (VPN) is a computer network that uses a public telecommunication infrastructure such as the Internet to provide remote offices or individual users with secure access to their organization's network. It aims to avoid an expensive system of owned or leased lines that can be used by only one organisation. Virtual Private Network (VPN) Integrated Services Digital Network (ISDN) is a set of communications standards for simultaneous digital transmission of voice, video, data, and other network services over the traditional circuits of the public switched telephone network. Asymmetric Digital Subscriber Line (ADSL) is a a data communications technology that enables faster data transmission over copper telephone lines than a conventional voiceband modem can provide. It does this by utilising frequencies that are not used by a voice telephone call. Cellular communication Cellular network Time division multiple access (TDMA) Frequency division multiple access (FDMA) Global System for Mobile Communications, Groupe Spécial Mobile (GSM) BSC - Base Station Controller Enhanced Data Rates for GSM Evolution (EDGE) • is a digital mobile phone technology that allows improved data transmission rates as a backwardcompatible extension of GSM. • for example, Blueconnect. • EDGE requires no hardware or software changes to be made in GSM core networks. • EDGE can carry a bandwidth up to 236.8 kbit/s (with end-to-end latency of less than 150 ms) for 4 timeslots (theoretical maximum is 473.6 kbit/s for 8 timeslots) in packet mode Transfer rates • In telecommunications and computing, bit rate [bit/s or bps] is the number of bits that are conveyed or processed per unit of time Security holes Data safety • Against loosing (several copies on different machines, preferably in different geographic locations) • Against stealing (cryptography, consider structure of permsions to a file, preferably out of Internet connections, away from untrusted software, data from a screen can be stolen in another room by power cable) • The simplest way to hack is by using Internet, so think before you connect Computer safety and human factor ? 384 Hacking Brute force attack The most common hackers activity to to block a certain website by generating abnormal amount of connections and requests from it. It cause networking to drop a service of such website. Example: http://www.rozstaje.pl/ E-commerce … … consists of the buying and selling of products or services over electronic systems such as the Internet and other computer networks. • Virtual (premium content of a website, items in games, etc.) • Physical items 2010: US eCommerce and Online Retail sales projected to reach $173 billion, an increase of 7 386 percent over 2009. Multimedia & Human – Computer Interaction Multimedia 388 Multimedia content forms Multimedia is media and content that uses a combination of different content forms. Text Audio Still images Animation Video Interactivity 389 Linear and non-linear multimedia • Cinema Scenario does not depend on a customer will • Computer game • Interactive training • Hypermedia A customer has an impact on the scenario Multimedia can be both, live or recorded. 390 Stabilisation 391 Emarging technologies in multimedia • Data-driven • Object-oriented • Personalised 392 Emarging technologies in multimedia • Taste and smell (?) 393 Wearable computers 394 Haptic technology is a tactile feedback technology that takes advantage of a user's sense of touch by applying forces, vibrations, and/or motions to the user. 395 Haptic technology 396 Virtual reality (predicted by Lem) 397 Virtual reality 398 Wii controller 399 Wii http://www.ted.com/talks/lang/en/johnny_lee_ demos_wii_remote_hacks.html 400 Follow instructions on the video 401 Senses are very selective You should consider selectiveness of senses whenever designing any multimedia 402 Regions of brain 403 One more visual trick 404 MPEG The I-frames are intra coded, they can be reconstructed without any reference to other frames. The Pframes are forward predicted from the last I-frame or P-frame. It is impossible to reconstruct them without the data of another frame (I or P). The B-frames are both, forward predicted and backward predicted from the last/next Iframe or P-frame. Two other frames are necessary to reconstruct them. P-frames and Bframes are referred to as inter coded frames. 405 MPEG „prediction” Imagine an I-frame showing a triangle on white background. A following Pframe shows the same triangle but at another position. Prediction means to supply a motion vector which declares how to move the triangle on I-frame to obtain the triangle in P-frame. This motion vector is part of the MPEG stream and it is divided in a horizontal and a vertical part. These parts can be positive or negative. A positive value The parts of the motion means motion to the right or motion vector are in a range of downwards, respectively. A negative 64 ... +63. So the value means motion to the left or referred area can be up motion upwards, respectively. 406 to 64x64 pixels away. MPEG error compensation 407 Image coding Every macro block contains 4 luminance blocks and 2 chrominance blocks. Every block has a dimension of 8x8 values. The luminance blocks contain information of the brightness of every pixel in macro block. The chrominance blocks contain color information. Because of some properties of the human eye it isn't necessary to give color information for every pixel. Instead 4 pixels are related to one color value. This color value is divided into two parts. The first is in Cb color block the second is in Cr color block. The color information is to be applied as shown in the picture to the left. 408 Discrete Cosine Transform (DCT) The magnitude of each DCT coefficient indicates the contribution of a particular combination of horizontal and vertical spatial frequencies to the original picture block. It expresses a sequence of finitely many data points in terms of a sum of cosine functions oscillating at different frequencies. 409 DCT Example 410 Two microphones systems for listening to and voice source localisation d c Microphone 1 l1 b a Microphone 2 l2 by R. Samborski 411 Microphone array m4 m3 m2 m1 412 Microphone array m4 m3 m2 m1 413 Two directions possible at once m4 m3 m2 m1 414 Speech signal extraction Wiener Filter Human-computer interaction 416 Opportunities given by speech technologies Speech recognition Speech synthesis Speaker verification Dialogue systems Machine translation Emotion detection Learning of foreign languages 417 Speech synthesis http://www.ivona.com/index.php 418 Speaker verification and identification source: http://www.fachowyelektryk.pl VERIFICATION IDENTIFICATION source: PAP 419 Dialogue system 420 AIML: Artificial Intelligence Markup Language 421 Facade • http://www.interactivestory.net/ • Download and play 422 Machine Translation http://translate.google.pl/ 423 Speech understanding and recognition 424 Human vs Computer Human vs Computer Speech recognitiona by a human •Hearing a sound Speech recognitiona by a human •Fitting to known words Speech recognitiona by a human •Fitting to a sense of a sentence Computer has to do the same steps Phoneme segmentation Single phoneme („a”) Pronounciation varies for different people and a computer has to deal with it. Fitting to known words • • • • • „Nasza” „Kasza” „NASA” „Masa” ... How often words appear next to each other I helped Apple wreck a nice beach. I helped Apple recognise speech. 435 Meanings by Compositionality Robert Berwick (MIT) 436 But there are exceptions 437 Word statistics 1) się 1 780 825 (2,6%) 9) że 760 078 17) tak 279 877 2) i 1 632 596 (2,4%) 10) a 479 713 18) za 263 700 3) w 1 569 027 (2,3%) 11) o 396 011 19) od 225 843 4) nie 1 445 832 (2,1%) 12) jak 368 386 20) jego 219 587 5) na 1 283 268 (1,9%) 13) ale 343 482 21) go 217 036 6) z 1 116 819 (1,6 %) 14) po 330 381 22) już 201 735 7) do 816 874 (1,2 %) 15) co 329 270 23) tym 199 894 8) to 801 472 (1,2 %) 16) jest 302 011 24) czy 196 565 438 Word statistics 1) się w 116 446 (0,17%) 10) to nie 39 087 19) nie jest 31 615 20) a potem 31 196 2) się na 93 751 (0,14%) 11) się i 38 772 3) się z 83 610 (0,12%) 12) się nie 38 622 21) nigdy nie 31 082 4) się do 83 524 (0,12%) 13) i nie 38 177 22) mu się 27 209 5) się że 57 126 (0,08%) 14) ale nie 35 241 23) po prostu 26 047 6) że nie 50 222 (0,07%) 15) na to 34 259 24) w tej 25 461 7) w tym 48 035 (0,07%) 16) że to 34 171 25) to co 24 661 8) nie ma 43 633 (0,06%) 17) mi się 33 441 26) w końcu 23 863 9) o tym 42 041 (0,06%) 18) nie było 31682 27) co się 23 762 439 Word statistics 1) w ten sposób 10 119 (0,015%) 2) na to że 8 619 (0,012%) 3) w tej chwili 8 121 (0,012%) 10) zwrócił się do 5 349 11) wydaje mi się 4 855 12) od czasu do 4 742 4) w każdym razie 7 587 (0,011%) 13) się z nim 4 609 5) po raz pierwszy 7 266 (0,010%) 14) to nie jest 4 538 6) mi się że 6 395 (0,009%) 15) czasu do czasu 4 470 7) sobie sprawę że 5 514 (0,008%) 16) w tym momencie 4 455 8) mam nadzieję że 5 499 (0,008%) 17) po drugiej stronie 4 445 9) w takim razie 5 462 (0,008%) 18) w ogóle nie 4 309 440 For people speech recognition is not a big problem Speech structure pragmatics Frames syntax acoustics Sentences Words Syllables Phonemes semantics Speech Statements 442 443 Automatic speech recognition today Automatic Call – Centre (information in ZTM in Warsaw) Dictation of credit cards in USA (very popular) Voice interfaces with limited number of commands Media monitoring Transcribing but with errors 444 Future of automatic speech recognition 445 Future of automatic speech recognition HAL 9000 in Space Odyssey 446 Chatting with a virtual agent (SEMAINE FP7 Project) 447 448 Emotion recognition 449 Kismet emotional robot 450 Geminoid 451 Geminoid 452 Geminoid 453 Touch screens According to Microsoft future of humancomputer interfaces. So far without commercial successes, apart from mobile devices. 454 Current applications 455 Touch screen 456 How does it work? 457 Touch tables Microsoft Surface - a new $10,000 touchscreen table. 458 Microsoft Surface 459 Problems with touch tables Microsoft Touch table was supposed to be a revolution in hardware of corporations. However, very few of them were sold. - it is too focused on group work, - to revolutionary in ergonomics – not only removing of a keyboard but also looking down the screen. 460 Snap Keys 461 Detection of muscle activity and bioacoustic information 462 Screen on an arm 463 RFID (Radio-frequency identification) 464 RFID applications Security in shops, Animal identification, Documents authorisation, Access control, People marking (?) - for example – elder people and new born kids 465 GPS (Global Positioning System) Cars without drivers Anti-thief systems for cars 466 EEG – Thoughts detection Currently mainly for paralysed people – for example 4 different thoughts instead of using a mouse (left hand, right hand, left leg, right leg). 467 Human computer interaction with shadow 468 Challenges of HCI 469 3D video 470 3D video 471 3D video 472 3D video 473 3D video 474 3D video 475 3D video 476 Cars without drivers 477 Cars without drivers There are already law regulations regarding autonomous cars in Nevada and California, for example, speed limit. FILMIK ZE STANFORD UNIVERSITY
© Copyright 2025