Become a StudyPortals member and get access to exclusive information, like scholarships and student reviews, related to your favourite programme!
Are you already a StudyPortals Member?
Find all members only information here
Distributed systems and applications run on a set of networked machines. They are a collection of components which cooperate to achieve a joint objective using the network as a way of exchanging data. The internet is a typical case of a distributed system: each component (browser, general server or one providing specific services) participates in making services available to users. Other applications exist such as the use of "gridworks of machines" to make complex calculations. Note that the most powerful machines in the world are nearly all collections of PC-type computers sometimes numbering as many as several hundred; the applications running on these systems make intensive use of the network and are regarded as distributed applications.
The design and development of these systems is a difficult problem which requires:
infrastructure capable of supporting cooperation between the components of the system, applications whose behavior must remain predictable whatever the operating conditions are, the taking into account of limitations (real-time, memory footprint or any other constraint) in their execution.
This specialization uses the expertise of the following institutions:
the Pierre & Marie Curie University's Computer Science Laboratory (LIP6),
the Information Processing and Communication Laboratory (LTCI) of TELECOM ParisTech (formerly ENST),
the Research and Acoustic/Music Coordination Institute (IRCAM).
The Distributed Systems and Applications (SAR) trains specialists in the design and development of distributed systems, capable of understanding and implementing the methods, techniques and mechanisms of the system. There are opportunities in both the industry sector and (university or industrial) research centers.
Opportunities in the industrial sector are for experts in the design and implementation of distributed system infrastructure, the design/production of distributed and/or embedded applications, the integration of systems and the design and implementation of distributed databases.
Opportunities in the academic world are doctorates in the following fields: adaptable and large-scale peer-to-peer systems; the modeling/analysis and production of reliable distributed applications (i.e. whose behavior is predictable); the analysis/production of partially embedded distributed systems and subject to real-time constraints and musical computer processing (taking into account multi-media aspects).
The SAR specialization offers five programs. The first four concern computer science uniquely:
* Design and Production of Distributed Applications (CRAR),
* Distributed Systems and Middleware (SRM),
* Embedded Distributed or Real-Time Systems (SRETR),
* Specialization in Distributed Applications Engineering (SIAR),
* The fifth program, Acoustics, signal processing and computer science applied to music (ATIAM) is multi-disciplinary. It combines computer science with acoustics and signal processing. This program is undertaken on the Jussieu campus for M1 and at IRCAM for M2. To take this specialization, it is advisable to know how to play a musical instrument.
The SAR specialization is intended for students holding a Computer Science Degree (or equivalent diploma). The SAR specialization may also be open to students in the 3rd semester who have completed their first year of a Master's degree in another French or foreign school or university.
To take the SAR specialization, you must enjoy working with heavily system-based applications (internet applications, parallel or distributed applications, real-time or embedded applications, databases etc.).
The prerequisites for the first year for SAR concern the knowledge and concepts acquired during a computer science bachelor's degree. However, they focus on basic system notions (use and mechanisms), networks and architecture. Good knowledge of imperative and object-oriented programming is required; a basic knowledge of concurrent programming is recommended.