Monday, 9 February 2015

Edible paper

Today my PhD students and postdocs surprised me at the RTS group meeting with a birthday cake in the form of a research paper, IEEE style and everything.

Here's a photo of the cake:


And here is a link to the PDF version of the paper, which I heard went through several rounds of review by the students and postdocs.

Below, some pictures of me cutting the cake and distributing to the Real-Time Systems Group folks.






Thank you very much, everyone! I really appreciated the surprise and all the creativity that went into the paper writing (and baking!)


Random news

Some news that I should have announced earlier here:


  • The book on Embedded Systems Design that I have edited jointly with Alessandra Bagnato, Imran Quadri and Matteo Rossi has been published by IGI Global. It provides insights from the computer science community on integrated systems research projects taking place in the European region. It covers a diverse range of design principles covered by these projects, from specification at high abstraction levels using standards such as UML and related profiles to intermediate design phases.





Friday, 7 November 2014

WSN Design Contest 2014

After having to eat a box of chocolates myself in 2013 because no group managed to overcome the challenge, I am glad to announce this year's winners of the WSN Design Contest!




The contest is part of the EMBS undergraduate module: all students are divided in groups, are given a few WSN motes and programming boards, and must design, test and implement a simple multihop wireless communication protocol over IEEE 802.15.4 physical layer in order to transmit a packet from the labs to my office, all within a 2 hours practical lecture slot.

The winner team gets a box of chocolates, and are immortalised with their picture in this blog. Winners from 2010, 2011 and 2012 can be found here.  

Invited talks

Over the past months, I was invited to give talks at different events, and some of them made their way to YouTube somehow:



  • Keynote at YDS 2014  (York, Oct 30 2014)



Monday, 2 September 2013

Research Associates (2 Posts) - DreamCloud Project - University of York - Real-Time Systems Group

Research Associates (2 Posts) - DreamCloud Project
University of York - Department of Computer Science - Real-Time Systems Group
Salary: GBP 29541 to GBP 36298 a year on Grade 6 of the University's salary scales.

Applications are invited for two Research Associates to take a leading role on the development work within the EU-funded DreamCloud project, specifically on modelling and evaluation of dynamic resource allocation mechanisms for multiprocessor systems. These roles would suit early postdoctoral/early career researchers working in Multiprocessor Computing.

About DreamCloud Project:
The availability of many-core computing platforms enables a wide variety of technical solutions for systems across the embedded and high-performance computing domains. However, large scale many-core systems are notoriously hard to design and manage - choices regarding resource allocation alone can account for wide variability in timeliness and energy dissipation (up to several orders of magnitude). Therefore, the fundamental challenge addressed by this project is to:
Enable dynamic resource allocation in many-core embedded and high performance systems while providing appropriate guarantees on performance and energy efficiency.
The project's vision is to provide different types of cloud-like resource management infrastructure, aiming to harmonise the approaches to dynamic allocation across the complete spectrum between systems with little flexibility and strict performance guarantees all the way to highly flexible systems with soft performance guarantees. This will be achieved by research and development of the following technologies:
- novel resource allocation heuristics that are sufficiently lightweight to be applied during runtime, and that are able to take into account performance guarantees (timing and energy);
- reference implementations of such heuristics within different kinds of cloud-like infrastructure (embedded clouds, micro clouds and high-performance clouds), enabling case-studies and facilitating the take-up by industry;
- extensions to existing system software packages (OS, virtual machines, middleware) to support predictable  runtime  migration  of  tasks  and  virtual  machines;
- reference many-core platforms with associated monitoring infrastructure, to evaluate the effectiveness of the proposed resource allocation mechanisms and to support pre-deployment parameter tuning.

The project will use case-studies in three different domains - automotive, media and entertainment, and scientific computing - to evaluate the developed technologies.

Partners: University of York (technical leader), The Open Group (project manager), aicas GmbH, LIRMM, Bosch, RheonMedia, HPCC Stuttgart


RA Post 1
Development and evaluation of dynamic resource allocation mechanisms for multiprocessor systems
To contribute to the development of dynamic resource allocation mechanisms for multiprocessor systems, including:
- Research and development of resource allocation heuristics for the mapping and migration of tasks and virtual machines over multiprocessor platforms (on-chip, grids, cloud)
- Application and improvement of analytical and simulation models to evaluate the performance and energy efficiency of those mechanisms in distinct domains (i.e. automotive, multi-stream video processing, high-performance computing)
- Joint work with industrial and academic partners towards the development and evaluation of the resource allocation mechanisms within industry-relevant case studies
- Writing up of research results and dissemination through publications, seminar and conference presentations and public engagement and outreach activities 
- To contribute to the preparation of research proposals and applications to external bodies
- To undertake appropriate organisational and administrative activities connected to the research project, including conference organisation, and the development of promotional or educational material including website maintenance and development
- To provide guidance to other staff and students, as required, as well as coordinating the work of small research teams.
- To assist with undergraduate teaching in own area of expertise.

Essential qualifications, knowledge and skills:
- PhD in Computer Science or closely related discipline
- Knowledge in multiprocessor computer platforms, including state-of-the-art memory hierarchies and interconnects (e.g. Networks-on-Chip)
- Knowledge of a range of static and dynamic resource allocation algorithms and heuristics
- Ability to develop, evaluate and optimise computer systems
- Highly developed communication skills to engage effectively with a wide ranging audience, both orally and in writing, using a range of media
- Ability to write up research work for publication in high profile journals and engage in public dissemination
- Competency to make presentations at conferences or exhibit work in other appropriate events
- Experience on evaluating performance and/or energy dissipation of multiprocessor systems
- Experience of carrying out both independent and collaborative research
- Experience of writing up research work for publication
- Ability to work as part of a team and also to work independently using own initiative
- Attention to detail and commitment to high quality
- Collaborative ethos
- Interest in and enthusiasm for the subject matter of the project
- Positive attitude to colleagues and students
- Willingness to work proactively with colleagues in other work areas/institutions
- Ability to plan and prioritise own work in order to meet deadlines, including using initiative to plan research programmes.
- Commitment to personal development and updating of knowledge and skills

Desirable qualifications, knowledge and skills:
- First degree in Computer Science
- Knowledge of analytical models for performance (e.g. queue theory, network calculus) and time predictability (e.g. response time analysis) of computer systems
- Knowledge of estimation techniques for energy dissipation in computer systems
- Knowledge of operating systems for multiprocessors
- Knowledge of operating systems and virtualisation technologies for grid and cloud computing
- Knowledge of parallel programming models, libraries and languages
- Ability to identify sources of funding and contribute to the process of securing funds, with collaborators if required
- Competency to conduct individual and collaborative research projects
- Ability to develop research objectives , projects and proposals for own and joint research, with the assistance of a mentor if required
- Experience in developing and implementing resource management mechanisms for multiprocessor systems
- Experience in developing and evaluating performance of embedded software
- Experience in developing and evaluating performance in grid or cloud computing

RA Post 2
To contribute to the development of Operating System and system software for multiprocessor / 
many core systems, including:
- Research and development of OS APIs and infrastructure to migrate OS resources, potentially 
within Linux and bespoke real-time OSs
- Research and development to support at the OS level dynamic migration of Java objects / 
threads / VMs within a distributed environment
-Integration within the OS of appropriate resource allocation heuristics to direct migration
- Integration within the OS of tracing monitoring and profiling approaches to allow measurement of migration approaches
- Joint work with industrial and academic partners towards the development and evaluation of the resource allocation mechanisms within industry-relevant case studies
- Writing up of research results and dissemination through publications, seminar and conference 
presentations and public engagement and outreach activities 
- To contribute to the preparation of research proposals and applications to external bodies
- To  undertake  appropriate  organisational  and  administrative  activities  connected  to  the  research project,  including  conference  organisation,  and  the  development  of  promotional  or  educational material including website maintenance and development
- To provide guidance to other staff and students, as required, as well as coordinating the work of small research teams.
- To assist with undergraduate teaching in own area of expertise.

Essential qualifications, knowledge and skills:
- PhD in Computer Science or closely related discipline, or equivalent 
experience
- Knowledge of operating systems, Linux, real-time operating systems
- Development of operating systems / operating system components, particularly real-time operating systems
Knowledge of scheduling and resource allocation algorithms and heuristics within operating systems
- Ability to develop, evaluate and optimise computer systems
- Highly developed communication skills to engage effectively with a wide ranging audience, both orally and in writing, using a range of media
- Ability to write up research work for publication in high profile journals and engage in public dissemination
- Competency to make presentations at conferences or exhibit work in other appropriate events
- Experience of operating system development
- Experience of carrying out both independent and collaborative research
- Experience of writing up research work for publication
- Ability to work as part of a team and also to work independently using own initiative
- Attention to detail and commitment to high quality
- Collaborative ethos
- Interest in and enthusiasm for the subject matter of the project
- Positive attitude to colleagues and students
- Willingness to work proactively with colleagues in other work areas/institutions
- Ability to plan and prioritise own work in order to meet deadlines, including using initiative to plan research programmes.
- Commitment to personal development and updating of knowledge and skills

Desirable qualifications, knowledge and skills:
- First degree in Computer Science
- Knowledge of analytical models for real-time systems (e.g. response time analysis) of computer systems and real-time operating systems
- Knowledge of profiling, monitoring techniques for operating systems and system software
- Knowledge of operating systems and virtualisation technologies for grid and cloud computing
- Knowledge of parallel programming models, libraries and languages
- Ability to identify sources of funding and contribute to the process of securing funds, with collaborators if required
- Competency to conduct individual and collaborative research projects
- Ability to develop research objectives, projects and proposals for own and joint research, with the assistance of a mentor if required
- Experience in developing and implementing resource management mechanisms for multiprocessor systems
- Experience in developing and evaluating performance of embedded software
- Experience in developing and evaluating performance in grid or cloud computing


The posts are fixed term, available until 31 August 2016.

Informal enquiries may be made in the first instance to: Dr Leandro Soares Indrusiak (+ 44 1904 325570).

For more details on the posts and the application process:

Closing date for applications:  23 September 2013

Monday, 21 January 2013

Best paper award at IEEE NESEA Conference


On December 14th 2012, my PhD student Ipek Caliskanelli has received the Best Paper Award at the 3rd IEEE International Conference on Networked Embedded Systems for Every Application (NESEA 2012). The paper was a joint effort by the Computer Science and Electronics departments, resulting from a "sandpit" exercise organised by both departments to foster new research collaborations. The paper's list of authors also shows the collaborative effort behind the work: James Harbin (a research assistant funded through the sandpit exercise), myself (CS), Paul Mitchell (Elec), David Chesmore (Elec) and Fiona Polack (CS).



The main contribution of the paper was a bio-inspired algorithm to balance computation and communication workload over battery-powered distributed embedded systems. We were inspired by the hormone-based communication in beehives, and developed an algorithm which is decentralised and resource efficient. The algorithm's performance was evaluated using simulation models and a small 16-node prototype of a wireless sensor network. The paper should be soon available through IEEE Xplore, and I am happy to forward a copy to anyone who is interested to learn more. An extended version will also hopefully appear at the Hindawi Journal of Distributed Sensor Networks. Ipek is currently following up that work with a parametric analysis of the algorithm, aiming to devise a design-time methodology to tune the algorithm to simultaneously maximise service availability and network lifetime.

It is worth noticing that the initial idea for the algorithm came from a chat I had with my aunt Leocadia Falkemberg Indrusiak. She is a retired university professor in Biology (and the only Indrusiak to have named an animal species), and since I was a child she has always had the patience and the talent to explain biologic things to me, regardless of my limited knowledge on the area. This time, I came to her asking about leader selection in animal groups. Ipek and I were looking for a bio-inspired way to manage the mapping of functionality to the nodes of a wireless sensor network, and we were not very happy with our first attempt, which was based on the organisation of flight formation in migratory birds (i.e. how birds decide which one goes at the front of the "V" at each point in time). So Cadia told me about different behaviours in large mammals, spiders and social insects, but when she described the hormone-based communication in beehives I immediately knew that we could adapt it for our purposes. Upon my return to York, I discussed it with Ipek and she produced a first implementation right before the research sandpit, when the other colleagues came on-board and contributed to its development and evaluation.

Finally, I've learned that York is at the forefront in monitoring the behaviour of social insects, so maybe they will uncover some more interesting mechanisms in nature that can be useful in embedded systems as well.  


Wednesday, 21 November 2012

WSN Design Contest 2012

Since starting the new Embedded Systems module in 2010, I have run a design contest on multi-hop communications in Wireless Sensor Networks. Every year, I see students organising themselves differently, partitioning the design tasks in different ways, and every year we had at least one team that manages to put together a protocol, deploy it on a number of motes, distributes them across the Computer Science building and gets them to propagate packets from the labs all the way to my office. All within a two-hours session! 

Below, the photo of the winning team of this year's contest (with motes and the chocolates they've got as winning prize).






And since I haven't posted anything about last year's contest, I include here the winning team's photo so that our winner's gallery is complete (winners from 2010 are here).