Proposal for PhD positions at VERIMAG
Verimag proposes two PhD theses in collaboration with ST Microelectronics. Please check your qualification and send e-mail to Oded Maler with CV and motivation letter.
Topic 1: Scheduling Stream-Processing Applications on a Multi-Processor
Supervisors: Thao Dang, Oded Maler
To cope with the complexity of applications and time-to-market
constraints, the semi-cunductor industry is moving to a reconfigurable
multi-processor architecture, in which tasks which were previously
hardwired in the circuit or associated with dedicated processing units
are now executed by several interconnected processors. Although the
use of software allows more flexibility it poses new challenges,
mainly in identifying the parallelism in the application and deploying
the software on the multi-processor architecture in order to obtain
good performance with low energy consumption.
The xStream architecture developed by ST is such a multi-processor
architecture specialized for stream-processing applications (video,
audio, radio). It consists of a large number (10-60) processing units
with a configurable communication topology. The speed and voltage of
each processor can also be tuned. The main challenge in software
development for such an architecture is how to deploy parallel
programs which are written in an architecture-neutral way into a given
instance of the arcitecture while preserving the semantics of the
program, meeting timing constraints and saving energy.
The proposed thesis, co-supervised by VERIMAG and ST in the framework
of the Athole project, will develop techniques for deploying and
scheduling such parallel programs on the xStream architecutre.
This
work will include:
Study and formalization of stream-processing data-flow programs,
including execution times as well as timing and energy requirements
Study and formalization of the xStream architecture and defining an
architecture description language
Development of efficient scheduling algorithms for mapping programs
to architecture
Implementation and experimentation
Requirements: background in computer architecture, programming, semantics,
compilation, algorithms and some formal thinking
Topic 2: Programming Languages for Stream Processing Applications
Supervisors: Paul Caspi, Oded Maler
To cope with the complexity of applications and time-to-market
constraints, the semi-cunductor industry is moving to a reconfigurable
multi-processor architecture, in which tasks which were previously
hardwired in the circuit or associated with dedicated processing units
are now executed by several interconnected processors. Although the
use of software allows more flexibility it poses new challenges,
mainly in identifying the parallelism in the application and deploying
the software on the multi-processor architecture in order to obtain
good performance with low energy consumption.
The xStream architecture developed by ST is such a multi-processor
architecture specialized for stream-processing applications (video,
audio, radio). It consists of a large number (10-60) processing units
with a configurable communication topology. The speed and voltage of
each processor can also be tuned. The main challenge in software
development for such an architecture is how to deploy parallel
programs which are written in an architecture-neutral way into a given
instance of the arcitecture while preserving the semantics of the
program, meeting timing constraints and saving energy.
The proposed thesis, co-supervised by VERIMAG and ST in the framework
of the Athole project, will study the appropriate programming language
constructs for writing stream-processing applications in a manner
which is natural for the application and can express the inherent
parallelism, but supports efficient compilation to the xStream
architecture. The work will be inspired by the experience accumulated
in Verimag in the development of the data-flow language Lustre and on
the language C-stream developed at ST.
The work will include:
Study of the typical stream-processing application and their
programming requirements
Comparative study of various data flow language (Lustre, StreamIt, SDF)
Development of language constructs, including special annotations
for required performance.
Development of compilation methods that interface with the scheduling algorithms.
Implementation and experimentation
Requirements: background in computer architecture, programming, semantics,
compilation and some formal thinking