concurrency first concurrency first concurrency first
play

Concurrency First Concurrency First Concurrency First but we but - PowerPoint PPT Presentation

Concurrency First Concurrency First Concurrency First but we but we d better get it right ! d better get it right ! but wed better get it right ! Peter Welch and Fred Barnes Peter Welch and Fred Barnes School of


  1. Concurrency First Concurrency First Concurrency First … but we but we’ ’d better get it right ! d better get it right ! … … but we’d better get it right ! Peter Welch and Fred Barnes Peter Welch and Fred Barnes School of Computing, University of Kent, UK School of Computing, University of Kent, UK { phw , frmb } @kent.ac.uk { phw , frmb } @kent.ac.uk CPA 2009 Fringe , Eindhoven, 1st. November 23-Nov-09 Copyleft (GPL) P.H.Welch 1

  2. Concurrency and Computer Systems Concurrency and Computer Systems Concurrency and Computer Systems We see concurrency as a fundamental mechanism of the universe, We see concurrency as a fundamental mechanism of the universe, existing in all structures and at all levels of granularity. existing in all structures and at all levels of granularity. To be useful in this universe, any computer system has to model To be useful in this universe, any computer system has to model and reflect an appropriate level of abstraction. and reflect an appropriate level of abstraction. For simplicity , therefore, the system must be , therefore, the system must be concurrent concurrent – – so that so that For simplicity this modelling modelling is obvious and correct. is obvious and correct. this Yet concurrency is thought to be an advanced advanced topic, topic, harder harder than than Yet concurrency is thought to be an serial computing (which therefore needs to be mastered first). serial computing (which therefore needs to be mastered first). ?!! ?!! ?!! ?!! ?!! ?!! ?!! ?!! ?!! ?!! 23-Nov-09 Copyleft (GPL) P.H.Welch 2

  3. This tradition makes no sense … … This tradition makes no sense … This tradition makes no sense … which has which has (radical) (radical) implications on how we should implications on how we should … educate people for computer science … … educate people for computer science … and on how we apply what we have learnt and on how we apply what we have learnt … … … 23-Nov-09 Copyleft (GPL) P.H.Welch 3

  4. This tradition makes no sense … … This tradition makes no sense … This tradition makes no sense So, here So, here’ ’s how we s how we promote promote (and (and demote demote ) concurrency at Kent, where ) concurrency at Kent, where we have been running a full undergraduate module (20- -25 lectures) 25 lectures) we have been running a full undergraduate module (20 on concurrency for 23 years … … on concurrency for 23 years The next 5 slides are promotional promotional (and (and demotional demotional ) material presented ) material presented The next 5 slides are to first year students. to first year students. Although we would like to offer this in Term One, our modules Although we would like to offer this in Term One, our modules (Co538 / Co632) are, currently (Co538 / Co632) are, currently, , elective options taken by second elective options taken by second  and final year students.  and final year students. 23-Nov-09 Copyleft (GPL) P.H.Welch 4

  5. This tradition makes no sense … … This tradition makes no sense This tradition makes no sense … So, here’ So, here ’s how we s how we promote promote (and (and demote demote ) concurrency at Kent, where ) concurrency at Kent, where s ’s This academic year (2009/10), we have a 30% uptake – that’s that’ – that we have been running a full undergraduate module (20- -25 lectures) 25 lectures) This academic year (2009/10), we have a 30% uptake – we have been running a full undergraduate module (20 This academic year (2009/10), we have a 30% uptake around 60 out of 200 CS students, across both available years. around 60 out of 200 CS students, across both available years. around 60 out of 200 CS students, across both available years. on concurrency for 23 years … … on concurrency for 23 years The next 5 slides are promotional promotional (and (and demotional demotional ) material presented ) material presented The next 5 slides are to first year students. to first year students. Although we would like to offer this in Term One, our modules Although we would like to offer this in Term One, our modules (Co538 / Co632) are – (Co538 / Co632) are – currently currently – – elective options taken by second elective options taken by second  and final year students.  and final year students. 23-Nov-09 Copyleft (GPL) P.H.Welch 5

  6. (Co538) Concurrency – Design & Practice (Co538) Concurrency – Design & Practice Concurrency is is many things happening at the same time many things happening at the same time : : Concurrency so is the real world – – and computers, to be useful, have to model and computers, to be useful, have to model so is the real world relevant bits of it; relevant bits of it; it’ ’s needed to support multiple demands s needed to support multiple demands (e.g. internet services, (e.g. internet services, it games, robotics, graphics/GUIs, mobile phones, bio- -systems systems games, robotics, graphics/GUIs, mobile phones, bio experiments, big physics modelling , real- -time control, operating time control, operating experiments, big physics modelling , real systems, … …) ) , even when running on a single processor; , even when running on a single processor; systems, it’ ’s needed to exploit s needed to exploit multicore multicore and and multiprocessor multiprocessor systems; systems; it it’ ’s needed for s needed for distributed distributed systems and systems and supercomputing supercomputing ; ; it it’ ’s needed for s needed for hardware design hardware design , , implementation implementation and and operation operation . . it       pretty much everything really … … core Computer Science core Computer Science … pretty much everything really … 23-Nov-09 Copyleft (GPL) P.H.Welch 6

  7. (Co538) Research Engagement (Co538) Research Engagement a language for concurrency a language for concurrency a language for concurrency occam- -  occam  JCSP / CHP / JCSP / CHP / C++CSP C++CSP concurrency libraries for libraries for concurrency concurrency libraries for Java / Haskell / C++ Java / Haskell / C++ Java / Haskell / C++ 23-Nov-09 Copyleft (GPL) P.H.Welch 7

  8. (Co538) Research Engagement (Co538) Research Engagement For the past 20 years, this department has been a leading centre of of For the past 20 years, this department has been a leading centre research into the theory and (especially) (especially) the practice of the practice of concurrency concurrency. . research into the theory and Programming technologies have been (are being) developed here: : Programming technologies have been (are being) developed here occam- -  occam  (an industrial strength programming language based on (an industrial strength programming language based on  – and the  the formal process algebras of CSP the formal process algebras of CSP and the –calculus calculus); ); JCSP (a 100% pure Java library providing an API that supports the JCSP (a 100% pure Java library providing an API that supports the occam- -  same concurrency model as occam  ); ); same concurrency model as C++CSP / CHP (a 100% pure C++ / Haskell library providing an API C++CSP / CHP (a 100% pure C++ / Haskell library providing an API occam- -  that supports the same concurrency model as occam  ). ). that supports the same concurrency model as This module will teach this model though the programming technologies though the programming technologies This module will teach this model This module will teach this model though the programming technologies (we won’ ’t be doing the formal mathematics). t be doing the formal mathematics). (we won (we won’t be doing the formal mathematics).                    in this module.  There will be lots of programming in this module.           There will be lots of programming programming in this module. There will be lots of 23-Nov-09 Copyleft (GPL) P.H.Welch 8

  9. (Co538) Research Engagement (Co538) Research Engagement Key new concepts: Key new concepts: processes (components, water (components, water- -tight and alive) tight and alive) processes processes (components, water-tight and alive) synchronised communication (over channels) synchronised communication (over channels) synchronised communication (over channels) mulitiway synchronisation synchronisation (over barriers) (over barriers) mulitiway mulitiway synchronisation (over barriers) networks (processes connected by channels and barriers) (processes connected by channels and barriers) networks networks (processes connected by channels and barriers) structure (networks within networks) (networks within networks) structure structure (networks within networks) choice (waiting for and reacting to events) (waiting for and reacting to events) choice choice (waiting for and reacting to events) dynamics (run (run- -time network construction and re time network construction and re- -shaping) shaping) dynamics dynamics (run-time network construction and re-shaping) mobility (agents) (agents) mobility mobility (agents) 23-Nov-09 Copyleft (GPL) P.H.Welch 9

Recommend


More recommend