Citations
“Hell, there are no rules here - we're trying to accomplish something.”
-- Thomas A. Edison
“Perfection is not reached when there is nothing more to add, but when there is nothing more to take away.”
-- Antoine de Saint Exupery
“Experience is simply the name we give our mistakes.”
-- Oscar Wilde
“If you can't explain it simply, you don't understand it well enough.”
-- Albert Einstein
“What we fear doing most is usually what we most need to do.”
-- Timothy Ferriss
“If debugging is the process of removing bugs, then programming must be the process of putting them in.”
-- Edsger Dijkstra
“Computers are useless. They can only give you answers.”
-- Pablo Picasso
“Every person I meet is in a way superior to me and in that I can learn from them.”
-- Ralf Waldo Emerson
“A pessimist sees the difficulty in every opportunity; an optimist sees the opportunity in every difficulty.”
-- Winston Churchill
“Wealth is not his that has it, but his that enjoys it.”
-- Benjamin Franklin
Publications
Click on the year to unfold all papers published in that year. You can
click on the  to directly download the corresponding paper or
 for additional information (bibtex, abstract, ...).
2009
Sven Stork,
Concurrent Programming via Access Permissions,
PhD Thesis Proposal, Coimbra, Portugal, September, 2009,
Abstract
The aim of this doctoral thesis is to study implications of having a
parallel-by-default programming language. This includes language
design, runtime system, performance and software engineering con-
siderations. We hope that the work helps to advance concurrent
programming in modern programming environments.
Documents
Paper : 
Slides :
Bibtex
@misc{stork09:concurrent_programming_via_permissions,
title = {{Concurrent Programming via Access Permissions}},
author = {Sven Stork},
year = {2009},
month = {September}
}
|
Sven Stork, Paulo Marques, Jonathan Aldrich.
Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs.
Onward! Conference,
Orlando, Florida, USA, October, 2009,
Abstract
The rise of the multicore era is catapulting concurrency
into mainstream programming. Current programming paradigms build in
sequentiality, and as a result, concurrency support in those languages
forces programmers into low-level reasoning about execution order.
In this paper, we introduce a new programming paradigm in which
concurrency is the default. Our Æminium language uses access
permissions to express logical dependencies in the code at a higher
level of abstraction than sequential order. Therefore
compiler/runtime-system can leverage that dependency information to
allow concurrent execution.
Because in Æminium
programmers specify dependencies rather than
control flow, there is no need to engage in difficult, error-prone,
and low-level reasoning about execution order or thread interleavings.
Developers can instead focus on the design of the program, and benefit
as the runtime automatically extracts the concurrency inherent in
their design.
Documents
Paper : 
Slides :
Bibtex
@inproceedings{stork09:concurrency_by_default,
title = {{Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs}},
author = {Sven Stork and Paulo Marques and Jonathan Aldrich},
year = {2009},
month = {October},
booktitle = {{In Proceedings of Onward! Conference}}
}
|
Nels E. Beckman, Yoon Phil Kim, Sven Stork, Jonathan Aldrich.
Reducing STM Overhead with Access Permissions.
International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO),
Genova, Italy, July 2009,
Abstract
While transactional memory makes concurrent programming more
convenient, software transactional memory (STM) is typically
associated with a high overhead. In this work we present a technique
for reducing overhead associated with STM using access
permissions, annotations on method parameters describing how
references may alias. This information, which is statically checked
for correctness, can be used to eliminate synchronization and logging
operations. We have implemented this technique and show that it
improves performance on a number of benchmarks.
Documents
Paper :
Bibtex
@inproceedings{beckman09:optimizing_stm,
title = {{Reducing STM Overhead with Access Permissions}},
author = {Nels E. Beckman and Yoon Phil Kim and Sven Stork and Jonathan Aldrich},
year = {2009},
month = {July},
booktitle = {{In Proceedings of the International Workshop on Aliasing, Confinement and Ownership}}
}
|
2008
Kiril Dichev, Sven Stork, Rainer Keller, Enol Fernandez.
MPI Support in the Grid.
Journal of Computing and Informatics,
Volume 27, No. 1, 2008
Abstract
Grids as infrastructures offer access to computing, storage and other
resources in a transparent way. The user does not have to be aware where and how
the job is being executed. Grid clusters in particular are an interesting target for
running compute-intensive calculations. Running MPI-parallel applications on such
clusters is a logical approach that is of interest to both computer scientists and to
engineers.
This paper gives an overview of the issues connected to running MPI applica-
tions on a heterogeneous Grid consisting of different clusters located at different sites
within the Int.EU.Grid project. The role of a workload management system (WMS)
for such a scenario, as well as important modifications that need to be made to a
WMS oriented towards sequential batch jobs for better support of MPI applications
and tools are discussed. In order to facilitate the adoption of MPI-parallel applica-
tions on heterogeneous Grids, the application developer should be made aware of
performance problems, as well as MPI-standard issues within her code. Therefore
tools for these issues are also supported within Int.EU.Grid.
Also, the special case of running MPI applications on different clusters simultaneously
as a more Grid-oriented computational approach is described.
Documents
Paper : on request
Bibtex
@Article{marcoa08:i2g,
author = {Kiril Dichev and Sven Stork and Rainer Keller and Enol Fernandez},
title = {{MPI Support in the Grid}},
journal = {{Journal of Computing and Informatics}},
year = {2007},
volume = {27},
}
|
J. Marcoa, I. Camposa, I. Coterilloa, I. Diaza,
A. Lopeza, R. Marcoa, C. Martinez-Rivero,
P. Orviz, D. Rodriguez, J. Gomes, G. Borges,
M. Montecelo, M. David, B. Silva, N. Dias,
J.P. Martins, C. Fernandez, L. Garcia-Tarres,
C. Veiga, D. Cordero, J. Lopez Cacheiro, I. Lopez,
J. Garcia-Tobio, N. Costas, J.C. Mourino,
A. Gomes, W. Wogacki, N. Meyer, M. Owsiak,
M. Plociennik, M. Zawadzki, A. Hammad, M. Hardt,
E. Fernandez, E. Heymann, M.A. Senar, A. Padee,
K. Nawrocki, W. Wislicki, P. Heinzlreiter,
M. Baumgartner, H. Rosmanith, D. Kranzmueller,
J. Volkert, S. Kenny, B. Coghlan, R. Pajak,
Z. Mosurska, T. Szymocha, P.Lason, L. Skital,
W. Funika, K. Korcyl, J. Pieczykolan, K. Balos,
R. Slota, K. Guzy, L. Dutka, J. Kitowski,
K. Zielinski, L. Hluchy, M. Dobrucky, B. Simo,
O. Habala, J. Astalos, M. Ciglan, R. Valles,
J.M. Reynolds, F. Serrano, A. Tarancon,
J.L. Velasco, F. Castejon, K. Dichev. R. Keller,
S. Stork.
The Interactive European Grid: Project Objectives and Achievements.
Journal of Computing and Informatics., Volume 27, No. 1, 2008
Abstract
The Interactive European Grid (i2g) project has setup an advanced
e-Infrastructure in the European Research Area specifically oriented to support
the friendly execution of demanding interactive applications. While interoperable
with existing large e-Infrastructures like EGEE, i2g software supports execution
of parallel applications in interactive mode including powerful visualization and
application steering. This article describes the strategy followed, the key technical
achievements, examples of applications that benefit from this infrastructure and the
sustainable model proposed for the future.
Documents
Paper : on request
Bibtex
@Article{marcoa08:i2g,
author = {J. Marcoa and I. Camposa and I. Coterilloa and I. Diaza and A. Lopeza and R. Marcoa and C. Martinez-Rivero and P. Orviz and D. Rodriguez and J. Gomes and G. Borges and M. Montecelo and M. David and B. Silva and N. Dias and J.P. Martins and C. Fernandez and L. Garcia-Tarres and C. Veiga and D. Cordero and J. Lopez Cacheiro and I. Lopez and J. Garcia-Tobio and N. Costas and J.C. Mourino and A. Gomes and W. Wogacki and N. Meyer and M. Owsiak and M. Plociennik and M. Zawadzki and A. Hammad and M. Hardt and E. Fernandez and E. Heymann and M.A. Senar and A. Padee and K. Nawrocki and W. Wislicki and P. Heinzlreiter and M. Baumgartner and H. Rosmanith and D. Kranzmueller and J. Volkert and S. Kenny and B. Coghlan and R. Pajak and Z. Mosurska and T. Szymocha and P.Lason and L. Skital and W. Funika and K. Korcyl and J. Pieczykolan and K. Balos and R. Slota and K. Guzy and L. Dutka and J. Kitowski and K. Zielinski and L. Hluchy and M. Dobrucky and B. Simo and O. Habala and J. Astalos and M. Ciglan and R. Valles and J.M. Reynolds and F. Serrano and A. Tarancon and J.L. Velasco and F. Castejon and K. Dichev. R. Keller and S. Stork},
title = {{The Interactive European Grid: Project Objectives and Achievements}},
journal = {{Journal of Computing and Informatics}},
year = {2007},
volume = {27},
}
|
2007
Isabel Campos Plascencia, Marcin Polciennik,
Herberth Rosmanith, Sven Stork.
Applications Support in Int.EU.Grid.
1st Iberian Grid Infrastructure Conference
, Santiago de Compostella, Spain, May 2007,
Abstract
The objective of the Interactive European Grid project is
the deployment and operation of a Grid-empowered infrastructure in the
European Research Area specifically oriented to support the execution of
interactive demanding applications. We describe in this note the status of
the project after its first year of work concerning the services developed
for applications support. In particular we analyze several applications use
cases in which the tools developed for interactive steering and remote
visualization are brought together in a userfriendly grid interface, the
Migrating Desktop. We also describe our solution to provide support for
MPI parallel jobs both at the intra- and inter-cluster level.
Documents
Paper : on request
Bibtex
@inproceedings{campos07:i2g_application_support,
title = {{Applications Support in Int.EU.Grid}},
author = {Isabel Campos Plascencia and Marcin Polciennik and Herberth Rosmanith and Sven Stork},
year = {2007},
booktitle = {{Proceedings of IBERGRID, 1st Iberian Grid Infrastructure Conference}}
}
|
Carlos F. Sanchez, Lino G. Tarres, Cesar
V. Garcia, Javier L. Cacheiro, Isabel Campos, Sven
Stork, Marcin Plociennik.
An study and implementation of virtual servers for a parallel grid application.
1st Iberian Grid Infrastructure Conference, Santiago de Compostella, Spain, May 2007,
Abstract
In this paper we present how to implement a grid using virtualization for parallel applications. There are two different approaches,
one is "full virtualization" using Hardware Virtual Machines (HVM) that
take advantage of the virtualization capabilities of the new generation
of processors, and the other one uses what is called "paravirtualization"
which requires the modification of the guest operating system to talk to
the hypervisor. First we analyze the impact of virtualization using well
know synthetic benchmarks and identify the behaviour of the network,
disk bandwidth and CPU using both approaches. Then we analyze the
performance of a particular application and study the different results
when using virtualization.
Documents
Paper : on request
Bibtex
@inproceedings{sanchez07:virtual_server,
title = {{An study and implementation of virtual servers for a parallel grid application}},
author = {Carlos F. Sanchez and Lino G. Tarres and Cesar V. Garcia and Javier L. Cacheiro and Isabel Campos, Sven Stork and Marcin Plociennik}
year = {2007},
month = {January},
booktitle = {{Proceedings of IBERGRID, 1st Iberian Grid Infrastructure Conference}}
}
|
Marcin Plociennik, Michal Owsiak, Enol Fernandez,
Elisa Heymann, Miquel A. Senar, Stuart Kenny,
Brian Coghlan, Sven Stork, Paul Heinzlreiter,
Herberth Rosmanith, Isabel Campos, Ruben Valles.
Int.EU.Grid Project Approach on Supporting Interactive Applications in Grid Environment.
INGRID 2007, Portofino, Italy, April 2007,
Abstract
In this paper we describe the Interactive European Grid project approach to
handling interactive grid applications. Interactivity is an important feature that
gives users the possibility to interact with applications in a natural way, giving
the possibility to change parameters while the application is running. There are
only few initiatives that address those issues in the grid environment.
Execution of interactive applications on a Grid environment is a challenging
problem that requires the cooperation of several middleware tools and services.
Additional problems arise when this interactive support is intended for parallel
applications, which may run remotely across several sites. Our project aims to
provide transparent and reliable support for such applications. We present the
general architecture and interactive services, as well as technical details. We
are proving its great added value and usefulness on a very demanding example.
We also emphasize the open nature of the proposed solution and ready-to-use
infrastructure, encouraging new applications and user communities to make
use and profit of it. The int.eu.grid project supports interactive applications not
only at the technical level. There is a special activity "Identification and
Support for Interactive Grid-enhanced Applications" that takes care of defining
an adequate support in the e-Infrastructure for grid-enhanced interactive
applications, so that the corresponding research communities can clearly
benefit from the resources and mechanisms offered.
Documents
Paper : on request
Bibtex
@inproceedings{,
title = {{Int.EU.Grid Project Approach on Supporting Interactive Applications in Grid Environment}},
author = {Marcin Plociennik and Michal Owsiak and Enol Fernandez and Elisa Heymann and Miquel A. Senar and Stuart Kenny and Brian Coghlan and Sven Stork and Paul Heinzlreiter, Herberth Rosmanith and Isabel Campos and Ruben Valles},
year = {2007},
month = {January},
booktitle = {{Proceedings of IBERGRID, 1st Iberian Grid Infrastructure Conference}}
}
|
2006
Sven Stork.
Design of an efficient Software Environment for a RDMA
Network Interface Controller.
Diploma Thesis at the
Computer Architecture Group
at the University of Mannheim.
Abstract
The goal of this thesis is to evaluate the requirements, the design and the implementation of an
efficient software interface for the Extoll NIC. The resulting software is called Extoll Software
Stack (ESS).
The design of the ESS should be efficient and exploit the maximum performance that will be
offered by the Extoll NIC. The software interface should be clear and intuitive. An important
point is the optimization of the software interface for an easy and efficient collaboration with
already existing middle-wares, like MPI and DAPL.
The first part of the thesis gives an overview of the currently available communication interfaces.
The next part evaluates the Extoll NIC hostport interface. Based on the determined hostport
interface the ESS design will be presented. The last part of the thesis gives an overview of the
current implementation and testing environment of the ESS.
Documents
Paper : on request
Bibtex
@MastersThesis{stork06:diploma_thesis,
title = {{Design of an efficient Software Environment for a RDMA Network Interface Controller}},
author = {Sven Stork}
school = {University of Mannheim}
year = {2006},
month = {January},
}
|
Projects
Æminium
Description
Æminium is a new programming language based on the programming paradigm: concurrency by default.
In Æminium the concurrent execution of statements is solely limit by existing data dependencies.
To make those data dependencies obvious, Æminium uses access permissions and data groups.
Æminium is in an early stage of development and more information will be posted as soon as they are available.
For more detailed information about Æminium refer to the Onward! 2009 paper or do not hesitate to contact me.
Publications
Sven Stork,
Concurrent Programming via Access Permissions,
PhD Thesis Proposal, Coimbra, Portugal, September, 2009,
Abstract
The aim of this doctoral thesis is to study implications of having a
parallel-by-default programming language. This includes language
design, runtime system, performance and software engineering con-
siderations. We hope that the work helps to advance concurrent
programming in modern programming environments.
Documents
Paper : 
Slides :
Bibtex
@misc{stork09:concurrent_programming_via_permissions,
title = {{Concurrent Programming via Access Permissions}},
author = {Sven Stork},
year = {2009},
month = {September}
}
|
Sven Stork, Paulo Marques, Jonathan Aldrich.
Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs.
Onward! Conference,
Orlando, Florida, USA, October, 2009,
Abstract
The rise of the multicore era is catapulting concurrency
into mainstream programming. Current programming paradigms build in
sequentiality, and as a result, concurrency support in those languages
forces programmers into low-level reasoning about execution order.
In this paper, we introduce a new programming paradigm in which
concurrency is the default. Our Æminium language uses access
permissions to express logical dependencies in the code at a higher
level of abstraction than sequential order. Therefore
compiler/runtime-system can leverage that dependency information to
allow concurrent execution.
Because in Æminium
programmers specify dependencies rather than
control flow, there is no need to engage in difficult, error-prone,
and low-level reasoning about execution order or thread interleavings.
Developers can instead focus on the design of the program, and benefit
as the runtime automatically extracts the concurrency inherent in
their design.
Documents
Paper : 
Slides :
Bibtex
@inproceedings{stork09:concurrency_by_default,
title = {{Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs}},
author = {Sven Stork and Paulo Marques and Jonathan Aldrich},
year = {2009},
month = {October},
booktitle = {{In Proceedings of Onward! Conference}}
}
|
smol
Description
smol stands for "Special Memory Object Library". The core concept of smol is to provide base
class which allow low level manipulation of the corresponding object memory. In particular smol supports hardware supported
write protection and memory residence of objects (cannot be swapped out by the OS). Additionally smol provides support for creating objects
that can be shared/accessed by multiple processes at the same time. The main target areas of smol
are enhanced debugging support for application and security applications.
Documentation
The Doxygen documentation of smol can be downloaded below or viewed online.
Show smol html documentation ...
Hide smol html documentation ...
Downloads
Tips & Tricks
Latex
How to define new math symbols or short cuts for the Latex math mode?
How to draw several blocks on top of each other in Latex beamer?
How to convert PDF to PS with T1 fonts?
How to define new math symbols or short cuts for the Latex math mode?
The Latex package semantic provides a command called \mathlig which can be used to define new symbols/short cuts. Below is a small collection of some very useful symbols (at least for me):
\mathlig{->}{\to}
\mathlig{|->}{\mapsto}
\mathlig{|=>}{\Mapsto}
\mathlig{=>}{\Rightarrow}
\mathlig{|-}{\vdash}
\mathlig{~>}{\leadsto}
\mathlig{=/=}{\neq}
How to draw several blocks on top of each other in Latex beamer?
You can use \vspace{} command to move the blocks up. But if you have more than two blocks you do not know the height of
each block. Therefore instead of moving boxes vertical, you can move the horizontal by using the coloumns environment
provided by the beamer package. You set the column width to the \textwidth and the first column represents the main
content. The other columns have all the same height and you can easily position boxes, pictures, ... on those columns and
then move them to the left. Below a simple example is shown. You can download the source or
the final
\documentclass{beamer}
\usetheme{Darmstadt}
\begin{document}
\begin{frame}
\frametitle{FrameTitle}
\begin{columns}[onlytextwidth]
%% this column contains the main content
\begin{column}{\textwidth}
\begin{block}{Title1}
\begin{itemize}
\item item1
\item item2
\item item3
\item item4
\item item5
\item item6
\item item7
\end{itemize}
\end{block}
\end{column}
%% this column contains the content next
%% to the previous one. Therfore we have to
%% move all the content to the left
\begin{column}{\textwidth}
%% move block over to the
\hspace{-1.01\textwidth} %% move block to the
\begin{minipage}{\textwidth}
\begin{exampleblock}{Title2}<2->
TODO
\end{exampleblock}
\end{minipage}
\end{column}
%% How about a rotated box
\begin{column}{\textwidth}
%% move block over to the
\hspace{-1.9\textwidth} %% move block to the
\begin{minipage}{.9\textwidth}
\rotatebox{15} {
\begin{minipage}{.9\textwidth}
\begin{alertblock}{Title2}<3->
{\huge IMPORTANT }
\end{alertblock}
\end{minipage}
}
\end{minipage}
\end{column}
\end{columns}
\end{frame}
\end{document}
How to convert PDF to PS with T1 fonts?
Use pdftops instead of pdf2ps.
Java
Resume/CV
- Available on request.
- You can also checkout
my
profile.
|