Introduction Computer Science Henri Bal Vrije Universiteit Amsterdam.

Slides:



Advertisements
Similar presentations
Computer Science Internet and Web Technology High Performance Distributed Computing Parallel and Distributed Computer Systems Dr.-Ing. Thilo Kielmann.
Advertisements

The First 16 Years of the Distributed ASCI Supercomputer Henri Bal Vrije Universiteit Amsterdam COMMIT/
CCGrid2013 Panel on Clouds Henri Bal Vrije Universiteit Amsterdam.
Big Data: Big Challenges for Computer Science Henri Bal Vrije Universiteit Amsterdam.
Clusters Part 1 - Definition of and motivation for clusters Lars Lundberg The slides in this presentation cover Part 1 (Chapters 1-4) in Pfister’s book.
Beowulf Supercomputer System Lee, Jung won CS843.
Information Technology
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Parallel Programming Henri Bal Rob van Nieuwpoort Vrije Universiteit Amsterdam Faculty of Sciences.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Computational Astrophysics: Methodology 1.Identify astrophysical problem 2.Write down corresponding equations 3.Identify numerical algorithm 4.Find a computer.
Chapter 1 An Overview of Personal Computers
CS 300 – Lecture 2 Intro to Computer Architecture / Assembly Language History.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Computer Science Prof. Bill Pugh Dept. of Computer Science.
4 december, The Distributed ASCI Supercomputer The third generation Dick Epema (TUD) (with many slides from Henri Bal) Parallel and Distributed.
Chapter 13 The First Component: Computer Systems.
Real Parallel Computers. Background Information Recent trends in the marketplace of high performance computing Strohmaier, Dongarra, Meuer, Simon Parallel.
Parallel Programming Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Real Parallel Computers. Modular data centers Background Information Recent trends in the marketplace of high performance computing Strohmaier, Dongarra,
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
1 Building National Cyberinfrastructure Alan Blatecky Office of Cyberinfrastructure EPSCoR Meeting May 21,
The Continuing Story of the Computer Age: Past, Present, and Future
Chapter 01 Nell Dale & John Lewis.
(1.1) Coen 001 Understanding Digital Technologies Ron Danielson Fall 2000.
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
INFSO-SSA International Collaboration to Extend and Advance Grid Education ICEAGE Forum Meeting at EGEE Conference, Geneva Malcolm Atkinson & David.
Panel Abstractions for Large-Scale Distributed Systems Henri Bal Vrije Universiteit Amsterdam.
© 2011 University of StirlingLecture Review/Slide 1CSC931 Computing Science I CSC931 Review.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
Introduction to Computer
Chapter 1 The Big Picture.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Loosely Coupled Parallelism: Clusters. Context We have studied older archictures for loosely coupled parallelism, such as mesh’s, hypercubes etc, which.
Henri Bal Vrije Universiteit Amsterdam High Performance Distributed Computing.
Computing History Milestones
6/4/ Key components of the computer Classification of computers based on Purposes Classification of computers based on Signals Classification of.
Unit 30 Digital Graphics BTEC Level 3 Welcome Back !! Anne Sewell.
Department of Industrial Engineering Sharif University of Technology Session# 7.
Computing Environment The computing environment rapidly evolving ‑ you need to know not only the methods, but also How and when to apply them, Which computers.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
1 CS145 Lecture 24 What’s next?. 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis.
SNU OOPSLA Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes.
Wide-Area Parallel Computing in Java Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences vrije Universiteit.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 3.
INTRODUCTION TO COMPUTER ENGINEERING (ECE 001) Dr. Ahmed Bayoumi Dr. Shady Yehia Elmashad 1.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Parallel Computing on Wide-Area Clusters: the Albatross Project Aske Plaat Thilo Kielmann Jason Maassen Rob van Nieuwpoort Ronald Veldema Vrije Universiteit.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
SCARIe: using StarPlane and DAS-3 Paola Grosso Damien Marchel Cees de Laat SNE group - UvA.
Constructing a system with multiple computers or processors 1 ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson. Jan 13, 2016.
Lecture-6 Bscshelp.com. Todays Lecture  Which Kinds of Applications Are Targeted?  Business intelligence  Search engines.
Introduction To Computer Engineering (ECE 001)
Constructing a system with multiple computers or processors
CS 21a: Intro to Computing I
Course Outline Computer: Introduction Characteristics
Introduction To Computer Engineering (ECE 001)
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
Vrije Universiteit Amsterdam
Cluster Computers.
Presentation transcript:

Introduction Computer Science Henri Bal Vrije Universiteit Amsterdam

Goals of this course ● Understand typical Computer Science topics ● Meet with students and some staff members ● Develop skills: ● Reading (English) scientific literature ● Critical/analytical thinking about CS topics ● Discussing ● Presenting ● Scientific writing

Structure ● Tuesdays: guest lectures ● 2 scientific papers provided as context ● Questions made up by lecturers beforehand ● Thursday/Friday/Monday: working groups ● 2 students per group present a paper ● Each group discusses both papers + questions

Topics (Tuesday lectures) ● Intro & high-performance computing (Henri Bal) ● Finding & reading scientific literature (Michel Klein, with LI & IMM students) ● e-Science infrastructures (Cees de Laat) ● e-Health (Aart van Halteren) ● Astronomy & manycores (Rob van Nieuwpoort) ● Watson (Lora Aroyo, with LI & IMM students) ● Luggage handling at Heathrow Terminal 5 (Huub van der Wouden, with IMM students)

Working Groups ● Supervised by staff members (instructors) ● First meeting: ● Instructors will present 1 paper, you do the discussions ● Other meetings: ● Students present/discuss papers ● Course material + working group composition will be made available on Blackboard (bb.vu.nl)

Your tasks ● Attend Tuesday lectures ● Send brief answers to questions + pose 2 new questions per paper before workgroup deadline ● Give 1 presentation in a working group ● Make slides, talk for minutes ● Participate in working group discussions ● Write 2-page paper on 1 topic of your choice ● Use (find!) 2 extra publications in the literature ● Grading: ● 40% participation, 40% paper, 20% presentation

First presentation ● My personal view on Computer Science ● Why is Computer Science so interesting? ● Biased towards my own research area: ● High performance distributed computing

Computer Science (CS) ● CS sits between technology and applications, both of which have turbulent developments ● Processors, networks, mobiles, wearables, … ● Data explosion in virtually all applications ● CS also studies many fundamental problems of its own ● Programming languages, security, AI, theory ….

Outline ● Technology ● Computers ● Some history ● High performance computers ● Modern (multicore) PCs ● Networks & mobile computing ● Applications ● Data explosion ● Computation demands ● Fundamental CS questions

Computers ● Mainframe: powerful centralized computer ● IBM 704 (1964) ● Minicomputers: <25K$, for small groups ● PDP-8, PDP-11, VAX (1960s-1980s) ● Workstations: expensive personal graphical machine ● Xerox Alto (1973) ● PCs: inexpensive machine for the masses ● IBM PC (1981)

High Performance Computers ● Computer systems with many processors, all computing in parallel ● Paper: “Back to Thin-Core Massively Parallel Processors”

Warning ● Scientific papers may be overwhelming ● Have to learn how to read scientific literature, without understanding every word ● ‘’ Moreover, smart algorithms that exploit data locality, perform loop unrolling, eliminate iterative loops and recursive algorithms, and use idle-power-friendly programming languages and libraries as well as auto-tuning based on multiversion algorithms can achieve higher-energy-efficiency applications.’’ ● (You’re not supposed to understand this yet!)

High Performance Computers (1) ● Vector machines ● Can do vector operations in parallel ● A and B: 1-dimensional matrices with 100 elements ● Computing A+B (= 100 computations) takes as much time as doing 1 addition on a sequential computer ● History ● 1970s, 1980s (e.g., Cray) ● 2000s (Japanese Earth Simulator) ● 2010s (GPUs, Graphical Processing Units)

High Performance Computers (2) ● Massively parallel machines ● 1000s of special processors connected by a special network, all running in parallel, each doing part of the overall computations ● E.g., CM-1, CM-5, Intel Paragon, IBM BlueGene ● Connection network uses graph theory (math)

High Performance Computers (3) ● Cluster computers ● Parallel machines built from off-the-shelf (commodity) PCs and networks ● Excellent price/performance ratio ● Exponential performance growth of processor speeds ● See for 500 fastest supercomputershttp://

Multicores & Manycores ● All PCs now have >1 compute cores ● Every PC is a parallel computer! ● Some PCs already have 48 cores ● Core count will increase to hundreds ● GPUs (manycores): 1000’s very simple cores ● Intel Phi (2012): 60 Pentium-1’s on 1 chip, with advanced vector support ● Challenge: how to program these things?

Thinking in parallel is hard ● How to split up the work? ● Load balancing ● All cores should do the same amount of work ● Communication & synchronization ● Cores must exchange data (=overhead) ● Nondeterminism: ● A single processor always gives same outcome ● With >1 core the outcome may depend on the order (called a ``race condition’’ bug)

Current debates ● Should we build chips with: ● Very fast/complicated (superscalar) processors? ● Hits a ‘’power wall’’, hard to increase clock frequency ● Many slower/simpler (thin) processors? ● Hard to program ● How to deal with energy consumption? ● Performance per Watt becomes key factor

Networks ● Wide area networks (WANs) ● Local area networks (LANs) ● Mobile networks ● Much more in Computer Networks class

Wide area networks ● ARPANET ● First computer network, connecting some US sites (1960s) ● Speeds measured in kbit/s ● Internet ● Based on standardized (IP) protocol suite ● Connect everyone/everything (Internet-of-things) ● Dedicated optical networks (light paths) ● 10 gbit/s, point-to-point

Local Area Networks ● Ethernet: developed by Xerox PARC (1974) ● Speed increased from 10 mbit/s to 100 gbit/s ● Cluster computers use Ethernet or faster commodity networks ● Myrinet ● Infiniband

An aside ● In Computer Science ● k(ilo)=1024 ● m(ega)= ● g(iga)= ● t(era)= ● p(eta)= ● e(xa)= ● All has to do with binary numbers

DAS-4 Dual quad-core Xeon E GB memory 1-10 TB disk Infiniband + 1Gb/s Ethernet Various accelerators (GPUs, multicores, ….) Scientific Linux Built by ClusterVision VU (74) TU Delft (32)Leiden (16) UvA/MultimediaN (16/36) SURFnet6 10 Gb/s light paths ASTRON (23)

Mobile computing ● Laptops, sensors, smartphones, tablets ● Many forms of mobile networks ● Wifi (local range) ● 3G, 4G (lower bandwidth, high coverage) ● BlueTooth (for pairing devices) ● Ultimately: ubiquitous computing? ● Vision by Mark Weiser (1988) ● ‘’machines that fit the human environment instead of forcing humans to enter theirs’’

Outline ● Technology ● Computers ● Some history ● High performance computers ● Modern (multicore) PCs ● Networks & mobile computing ● Applications ● Data explosion ● Computation demands ● Fundamental CS questions

Application developments ● There is a ``data explosion’’ in many application areas ● Huge amounts of data (up to Petabytes/year) ● Very complicated/heterogeneous data ● Demand for computing ● Model (simulate) designs on a computer

Data explosion ● Society: ● Web, social networks ● Industry, economy: ● Banks, stock markets ● Science ● LHC (``Higgs particle’’) ● Data stored on world-wide ``grid’’ ● Bioinformatics (next generation sequencing) ● Astronomy: software telescopes (LOFAR, SKA)

Computing demands ● Computational science: ● Modeling ozone layer, climate, ocean, human brain ● Simulating galaxies ● Engineering: ● Aircraft modeling, designing F1 cars (Virgin VR01) ● TVs (mostly software), embedded systems ● Games and multimedia: ● Computer chess (Deep Blue) ● Watson (Jeopardy) ● Analyzing multimedia content ● Generating movies

Pixar’s ``Up’’ (2009) Whole movie (96 minutes) would take 94 years on 1 PC (4 frames per day; 1 second takes 6 days; 1 minute per year)

Some fundamental Computer Science topics (1) ● Operating systems: ● Windows, Linux, Minix (Andy Tanenbaum) ● Programming languages and systems ● Fortran, Cobol, C, Java, Python … (thousands) What happens if you ask a computer scientist to solve a problem? He/she will come back 3 months later, with … a new programming language ideally suited for solving your problem

Some fundamental Computer Science topics (2) ● Security ● Preventing/detecting attacks, privacy, etc ● (Semantic) web technology ● Finding and reasoning about content on the web ● Cloud computing ● Store data and programs remotely, in the Cloud

Some fundamental Computer Science topics (3) ● Artificial intelligence ● E.g. automatic machine-learning ● Databases ● Storing and searching huge amounts of data ● Logic, modelling, graph theory, complexity ● Essential for many applications

Conclusion ● Modern Computer Science deals with hectic developments in technology and applications ● Both provide us many research problems ● Application-driven vs technology-driven research ● There also are many fundamental CS problems

Literature (Context) ● Ami Marowka: Back to Thin-Core Massively Parallel Processors, IEEE Computer, December 2011, pp

QUESTIONS ● Explain what ``thin cores’’ are ● What are the arguments in favor and against using ‘’thin cores’’ ? ● Which role does energy consumption play in this discussion? ● Compute the energy efficiency of the current 10 largest supercomputers on ● Which type of machine currently is most energy efficient? ● Compare the maximum performance of the current #1 against the performance of the #1 of 10 years ago. What is the difference?