Dates
|
Deadline for application: |
Dec 15, 2017 |
Notification of acceptance: |
Dec 28, 2017 |
School: |
Jan 29 - Feb 3, 2018 |
|
|
Description
|
The school, at its second edition, will consist of a one week
course mainly thought for master students (but open to and
potentially interesting for PhD students and young
researchers). The course is structured into three series of
lectures on advanced themes in computer science spanning over a
wide range different areas, from artificial intelligence and
learning to programming languages and formal methods to (real
time) concurrency and distribution in software systems. The
lecturers, starting from some advanced but consolidated material,
will bring the students to be exposed to research topics in the
corresponding areas. More specifically,
|
Courses
|
The lecture program comprises the following three courses:
- [RKL] Representation and Kernel Learning
- Fabio
Aiolli
Machine learning deals with techniques and
algorithms that starting from empirical data allow a computer
system to acquire new knowledge, or to correct and/or to refine
knowledge already available. The success of machine learning
algorithms heavily depends on data representation. Even the most
performing classification algorithm will fail when provided with a
bad input representation of data. In this course, the problem of
data representation for machine learning will be introduced. In
particular, we will focus on kernel machines (e.g. support vector
machines for classification and regression), the theory behind
these kinds of algorithms, and well-founded principled methods to
learn the implicit representation of kernels from data. Topics
include: basics of supervised learning theory, kernel based
algorithms and SVM, kernel representation and kernel learning.
- [LC] Languages for Concurrency - Paolo Baldan
Concurrency is pervasive in modern computing systems due to
the success of web and network applications, and, at a lower
level, of multicore and multiprocessor systems. The course is
intended to provide a gentle introduction to the main
concepts underlying the theory of concurrency and its impact
on the design of languages for concurrent and distributed
programming. We start by briefly reviewing some formal
modelling languages for concurrency (Calculus of
Communicating Systems) and the associated reasoning and
automated verification techniques. Then we discuss the import
of this theory on the design of languages with modern
concurrency primitives, more abstract and manageable than the
low-level model based on threads and locks, used by
programmers for years for dealing with concurrency and
parallelism. A tentative program follows:
- Formal Specification languages for concurrency and tools for automated verification
- Google Go and channel based concurrency
- Erlang and the actor model for distributed concurrency
- Clojure, data concurrency for free using functional languages
- [RTS] Perspectives on Real-time Scheduling in
the Wuthering Landscape of Parallel Computing -
Tullio Vardanega
Multicore processors are supplanting traditional processor
architectures in virtually all application domains, promising
considerably higher compute power within low-cost, into
easily composable (scalable) commodity cluster units. This
change much affects the real-time embedded systems domain,
whose basic theory builds on the single-CPU assumption. This
earlier challenge of real-time scheduling – the problem of
assigning units of CPU time to units of computation (mains)
so that all applications complete in time – then becomes a
parallel problem, where multiple assignments occur
simultaneously. Meanwhile, the embedding of compute-intensive
services in critical infrastructures requires
high-performance computing to seek timeliness. This need
presents a new real-time scheduling problem, where
application mains fork, multiple times, in a large number of
very small units of computation that proceed in parallel
until the next join point. In this mini-course we will look
at these two facets of parallel real-time scheduling:
- Dispatching multiple application mains to multiple CPUs, with no more than one CPU assigned to a single application at any one time.
- Dispatching multiple short jobs from the same
application to multiple CPUs multiple times, offering
guarantees of timely completion, under contention from
other similar applications.
|
Schedule
|
|
Monday
|
Tuesday
|
Wednesday
|
Thursday
|
Friday
|
9-11
|
RKL
|
LC
|
RTS
|
RKL
|
--
|
11-13
|
LC
|
RTS
|
RKL
|
LC
|
--
|
13-14
|
lunch
|
lunch
|
lunch
|
lunch
|
Exams
|
14-16
|
RTS
|
RKL
|
LC
|
RTS
|
Exams
|
|
Organizers
|
Paolo Baldan
(Dipartimento di Matematica, Universià di Padova, Italy)
Alberto Fernández Oliva
(Facultad de Matemática y Computación,
Universidad de La Habana, Cuba)
|
Contacts
|
For information please mail the organisers.
|