pret-os for biomedical devices a part iv project

17
PRET-OS for Biomedical Devices A Part IV Project

Upload: bertha-lawson

Post on 04-Jan-2016

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: PRET-OS for Biomedical Devices A Part IV Project

PRET-OSfor Biomedical Devices

A Part IV Project

Page 2: PRET-OS for Biomedical Devices A Part IV Project

The Next Generation of Real-Time Embedded Systems...

... from the biomedical domain:

Bionic eyes Mind-controlled limbs Robotic surgery Healthcare robots

Page 3: PRET-OS for Biomedical Devices A Part IV Project

The Next Generation of Real-Time Embedded Systems...

... from the biomedical domain:

More sensitive More accurate and precise

More responsive More emotional

Bionic eyes Mind-controlled limbs Robotic surgery Healthcare robots

In th

e fu

ture

Page 4: PRET-OS for Biomedical Devices A Part IV Project

To Fulfil this Cyborg Dream...

... biomedical devices will be designed with:

More complex algorithms.

Greater processing power.

That demand To meet

Real-time requirements.

Page 5: PRET-OS for Biomedical Devices A Part IV Project

To Fulfil this Cyborg Dream...

... biomedical devices will be designed with:

More complex algorithms.

Greater processing power.

That demand To meet

Real-time requirements.

ForeCLanguage

Multicore MicroBlaze

Static timing analysis

Managing the use of multicores in time- and safety-critical applications is an open research problem!

Our

tool

s

Page 6: PRET-OS for Biomedical Devices A Part IV Project

Project Aims

• Design a time-predictable operating system for executing parallel programs.

• PRET-OS: Precision Timed Operating System.– Light-weight OS.– Allows realtime and non-realtime programs to

execute on the same multicore system.– Preserve the timing properties of realtime

programs.– Provide good worst-case and average-case

execution performance for all programs.

Page 7: PRET-OS for Biomedical Devices A Part IV Project

End

Page 8: PRET-OS for Biomedical Devices A Part IV Project

Extra Details

Page 9: PRET-OS for Biomedical Devices A Part IV Project

The ForeC Language

• ForeC is a language for writing deterministic parallel programs for safety-critical embedded systems with multicore processors.– The worst-case performance must be guaranteed.

“My program should always finish in 1 sec.”– We have focused on compiling ForeC to execute

directly on embedded multicores (i.e., without an OS).

– We have a naïve approach for executing ForeC on an OS.

Page 10: PRET-OS for Biomedical Devices A Part IV Project

Reasons for using an OS

• Write platform-independent programs that use a common API (code reuse).

• Automatically manage the system resources.• Allow different programs to run in harmony on

the same system.

Page 11: PRET-OS for Biomedical Devices A Part IV Project

Current Implementation for Embedded Multicores

ForeC Program(multithreaded)

Static thread distribution

Target Multicore

Threads on the same core are statically scheduled.

Page 12: PRET-OS for Biomedical Devices A Part IV Project

Current Implementation for OS Execution (naïve)

ForeC Program(multithreaded)

Static thread distribution

Target Multicore

Each program is wrapped by a Pthread and scheduled by the OS.

Operating System

ForeC threads are still statically scheduled!

Threads on the same core are statically scheduled.

Page 13: PRET-OS for Biomedical Devices A Part IV Project

Related Project Aims

• Investigate the use of ForeC to write general purpose parallel programs.– Only average-case performance is important.

“My program should run as fast as possible.”– Desktop systems use an OS on top of a complex,

speculative multicore processor to achieve good average-case performance.

Page 14: PRET-OS for Biomedical Devices A Part IV Project

Related Project Aims

1. Improve on the naïve approach by mapping ForeC threads to Pthreads.– The OS will dynamically schedule the threads.– Outcome: Simple dynamic execution of ForeC.

2. Change the OS thread scheduling policy.– Only allow preemptive scheduling at local tick

boundaries.– Outcome: Custom scheduler for running

synchronous programs.

Page 15: PRET-OS for Biomedical Devices A Part IV Project

Related Project Aims

3. Reduce the overheads. – Map ForeC threads to kernel threads to minimise

the runtime layers between the ForeC threads and the cores.

– Outcome: More efficient implementation.

4. Group small ForeC threads into the same kernel thread.– Minimise the overhead in creating/destroying

kernel threads.– Outcome: Clustering algorithm.

Page 16: PRET-OS for Biomedical Devices A Part IV Project

Test Programs

• Mandelbrot

• Life

Page 17: PRET-OS for Biomedical Devices A Part IV Project

End