SlideShare une entreprise Scribd logo
1  sur  123
Télécharger pour lire hors ligne
Πάντα ρει και
ουδεν μενει
— Ηρακλειτος
Arquitectura Software
de Comunicaciones para
Sistemas Distribuidos Críticos con
Requisitos de Tiempo Real Estrictos
Autor: Santiago Urueña Pascual
Director: Juan Zamorano Flores
Universidad Politécnica de Madrid (UPM)
Tesis doctoral
2011-04-06
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Validación resultados
 Conclusiones
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Validación resultados
 Conclusiones
Antecedentes
 Grupo de investigación STRAST
 Proyecto ASSERT
 Liderado por la ESA
 6º Programa Marco UE
 2004-2008
Software para satélites
de próxima generación
Certificación
Software de alta integridad
Validación y Verificación
Niveles de integridad
Aviónica Modular
Integrada (IMA)
Certificación independiente:
aislamiento temporal y espacial
Perfil de Ravenscar
 IRTAW 1997
 Industria
 Universidad
 Organismos reguladores
 Certificable
 Basado en análisis planificación
Perfil de Ravenscar
 Programación concurrente
 Altas prestaciones
 No interbloqueos
 Open Ravenscar Kernel (ORK)
Todo fluye, nada es
— Heráclito
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Validación resultados
 Conclusiones
Máquina Virtual de
ASSERT
 Núcleo de tiempo real
 Aviónica Modular Integrada
(IMA)
 Middleware de alta integridad
Máquina Virtual de
ASSERT
 Plataformas de pruebas:
 PC-104 / Ethernet
 LEON2 / SpaceWire
CPU resistentes a la
radiación
 CPU lentas (e.g. 20 Mhz)
 Poca memoria (e.g. 2 MB RAM)
Objetivos de la tesis
 ORK particionado
 Ravenscar distribuido
Middleware de alta
integridad
 Comunicación de tiempo real
estricto sobre redes no
deterministas
 Ravenscar distribuido
Aviónica Modular
Integrada (IMA)
 Aislamiento temporal
 Aislamiento espacial
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
Communications layer
Low-Level driver Open Ravenscar Kernel
Ravenscar-Compliant Application
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel+
Ravenscar-Compliant Application
Plataforma de
ejecución
 Núcleo de separación
 Middleware restringido
 Ravenscar distribuido
 AR-TP
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Validación resultados
 Conclusiones
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel
Ravenscar-Compliant Application
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel
Ravenscar-Compliant Application
Aviónica Modular
Integrada (IMA)
Certificación independiente:
aislamiento temporal y espacial
CPU resistentes a la
radiación
 CPU lentas (e.g. 20 Mhz)
 Poca memoria (e.g. 2 MB RAM)
 Sin MMU
 No traducción de direcciones
hardware
Cadena de compilación
actual
source code object codecompiler linker
kernel
executable
*.adb *.c *.exe*.o
*.a
Script de compilación
a medida
source code object codecompiler linker
ASIS tool
kernel
executable
*.adb *.c *.exe*.o
*.a
custom
linking script
*.ld
Meta-enlazador
source code
partition 1
object code
partition 1
compiler linker
binary
partition 1
meta-linker
kernel
executable
source code
partition N
object code
partition N
compiler linker
.
.
.
.
.
.
*.adb *.c
*.exe
*.o
*.a
*.o
Meta-enlazador
 Protección de memoria hardware
 Menos sobrecarga de CPU:
 RTOS sencillo (e.g. sin cargador)
 No traducción de direcciones hw
 Menos requisitos de energía
 Determinismo: sin MMU / TLB
Certificación
independiente
 El binario de cada partición es
independiente
 Meta-enlazador: herramienta
cualificada
 Código independiente de la posición
Código independiente de
la posición (PIC)
 Analísis huella en memoria
 Prototipo de meta-enlazador
 Mediciones tiempo de cómputo
 Diseño FDPIC ABI para SPARC
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel
Ravenscar-Compliant Application
Platforma distribuida
de pruebas
 Demonstradores de ASSERT
 Sistemas distribuidos
 Half-duplex Ethernet
Ethernet de
tiempo real
 Control de acceso al medio no
determinista
 Modificación protocolo MAC
 Switched Ethernet
 Modelado de tráfico
 Control de transmisión
AR-TP
 Arbitrated Real-Time Protocol
 Basado en RT-EP
(Universidad de Cantabria)
 Paso de testigo
RT-EP
Token [p]
ER-TP
 Análisis del tiempo de respuesta
 Ancho de banda reducido
 No protección a congestiones
AR-TP
 Múltiples mensajes por ciclo
 Reducción mensajes de
arbitraje
 Prioridad dual
 Caducidad mensajes
AR-TP
AR-TP
 Análisis del tiempo de respuesta
 Mayor ancho de banda
 Control de congestión
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel
Ravenscar-Compliant Application
Encuesta a ingenieros
aeroespaciales
 Comunicación de tiempo real
estricto y flexible
 10 preguntas
 Características deseables
Ravenscar distribuido
 Anexo de Sistemas Distribuidos
(DSA)
 Extensión de Ravenscar
 Restricciones obligatorias
 Restricciones opcionales
Restricciones
obligatorias del
Middleware
 Número de nodos estático
 No conexiones dinámicas
 Inicialización coordinada
 No comunicación implícita
Restricciones
obligatorias del
Middleware
 No objetos protegidos compartidos
 No punteros a memoria compartida
 No punteros remotos a clase
 No llamadas concurrentes a la
misma operación remota
Restricciones
opcionales del
Middleware
 No tipos acceso remotos
 No llamadas remotas anidadas
 No llamadas síncronas
 Parámetros remotos acotados
Perfil de Ravenscar
distribuido
 Middleware certificable
 Basado en tiempo de respuesta
holístico
 No interbloqueos distribuidos,
pocos recursos…
 Estancia en AdaCore NY
Ravenscar distribuido
 Análisis tiempo respuesta
aplicaciones
 Análisis estático aplicaciones
 Middleware simplificado
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel
Ravenscar-Compliant Application
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Validación de resultados
 Conclusiones
Validación
 Prototipo de meta-enlazador
 Huella en memoria
 Tiempo de ejecución
Validación
Validación
 Thales Alenia Space y Astrium
 Demostradores:
 HRI: satélites de larga duración
 MPC: flotas de satélites
 MA3S: naves no tripuladas
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 AR-TP
 Ravenscar distribuido
 Meta-enlazador
 Validación resultados
 Conclusiones
Meta-enlazador
 Particionamiento memoria seguro
y eficiente sistemas empotrados
 Análisis PIC en SPARC
 Nueva FDPIC ABI
AR-TP
 Evolución RT-EP
 Mejora de prestaciones
 Control de congestiones
Ravenscar distribuido
 Middleware certificable
 Análisis de tiempo de respuesta
aplicaciones
 Paradigmas de comunicación
adecuados
Contribuciones
Aportaciones teóricas
 Análisis Ravenscar y DSA
 Modelado AR-TP
Contribuciones
Aportaciones metodológicas
 Diseño de un DSA de tiempo real
 Restricciones middleware
Contribuciones
Aportaciones prácticas
 Implementación capa de
comunicaciones certificable
 Prototipo de meta-enlazador
Publicaciones
 “A restricted middleware profile for high-integrity distributed
real-time systems” (2009)
 “Communication paradigms for high-integrity distributed
systems with hard real-time requirements” (2008)
 “The ASSERT Virtual Machine: A predictable platform for
real-time systems” (2008)
 “A new approach to memory partitioning in on-board
spacecraft software” (2008)
 “Building high-integrity distributed systems with Ravenscar
restrictions” (2007)
 “Implementing the new Ada 2005 real-time features on a
bare board kernel” (2007)
 “Schedulability analysis of AR-TP, a Ravenscar compliant
communication protocol for high-integrity distributed
systems” (2006)
 “The arbitrated real-time protocol (AR-TP): A Ravenscar
compliant communication protocol for high-integrity
distributed systems” (2006)
 “Adding new features to the Open Ravenscar Kernel” (2005)
gracias
merci
спасибо
grazie
thanks
The important thing is
not to stop questioning
— Albert Einstein
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel
Ravenscar-Compliant Application
Proyecto ASSERT
Desarrollo basado en modelos
[Sistemas embarcados en satélites]
Generación automática de código
[HRT-UML, AADL]
Separación de problemas
[Aspectos funcionales frente a no funcionales]
Proyecto ASSERT
Composición y preservación de
propiedades
[Metamodelo RCM]
Transformación automática
[Patrones de código]
Máquina Virtual ASSERT
[RT-Kernel + middleware restringido]
Bonus section
Aislamiento temporal
 Manejo de violaciones del WCET
 Monitorización de los plazos
 Forzar tiempo entre llegadas
Publicaciones
 Urueña, S., Zamorano, J., de la Puente, J. A. (2009). “A restricted middleware profile for
high-integrity distributed real-time systems”. Ada-Europe 2009
 Urueña, S., Zamorano, J., Pulido, J. A., de la Puente, J. A. (2008). “Communication
paradigms for high-integrity distributed systems with hard real-time requirements” (DIPES
2008)
 de la Puente, J. A., Zamorano, J., Pulido, J. A., Urueña, S. (2008). “The ASSERT Virtual
Machine: A predictable platform for real-time systems”. IFAC 2008
 Urueña, S., Pulido, J. A., López, J., Zamorano, J., de la Puente, J. A. (2008). “A new
approach to memory partitioning in on-board spacecraft software”. Ada-Europe 2008
 Urueña, S. Zamorano, J. (2007). “Building high-integrity distributed systems with ravensca
restrictions”. Ada Letters, XXVII(2)
 Sánchez, V. (2007). Desarrollo de un protocolo de comunicación determinista para
sistemas de tiempo real críticos. Proyecto fin de carrera, ETSIT-UPM. Tutor: Santiago
Urueña Pascual
 Urueña, S., Pulido, J. A., Redondo, J., Zamorano, J. (2007). “Implementing the new Ada
2005 real-time features on a bare board kernel”. Ada Letters, XXVII(2)
 Urueña, S., Zamorano, J., Berjón, D., Pulido, J. A., de la Puente, J. A. (2006). “Schedulability
analysis of AR-TP, a Ravenscar compliant communication protocol for high-integrity
distributed systems.” IPDPS06
 Urueña, S., Zamorano, J., Berjón, D., Pulido, J. A., de la Puente, J. A. (2006). “The arbitrated
real-time protocol (AR-TP): A Ravenscar compliant communication protocol for high-
integrity distributed systems”. Ada-Europe 2006
 Urueña, S., Pulido, J. A., Zamorano, J., de la Puente, J. A. (2005). “Adding new features to
the Open Ravenscar Kernel”. OSPERT 2005.
Cyclic executives
 Minimal code to certify
 Correct by construction
 Easy error detection
Cyclic executives
 No sporadic tasks
 Scalability: NP hard problem
 Hard to implement & maintain
¿Paradigmas de
comunicación
adecuados?
 Paso de mensajes
 Memoria compartida distribuida
 Llamada a procedimiento remoto
 Invocación de método remoto
 Publicar/Suscribir





Ravenscar profile
pragma Restrictions (
No_Abort_Statements,
No_Task_Allocators,
No_Task_Hierarchy,
Simple_Barriers,
Max_Entry_Queue_Length => 1,
Max_Protected_Entries => 1,
...);
Beyond TTA
 Time Triggered Architecture
 Robustness · global clock
 Fault tolerance · specific hw
Beyond TTA
 Distributed “cyclic executive”
 No sporadic messages
 Hard to develop & maintain
Ravenscar
& multicores?
 Defined for monoprocessors
 SMP sched policies: indeterminism
 Memory consistency models
 sequential consistency
 relaxed consistency
 transactional memory
Ravenscar
& multicores?
 A Ravenscar partition per core
 Special-purpose DSA
 No locks in protected objects
 Interrupt affinity to fixed CPU
“A Safety-Critical system has to be based
 on technology that supports predictability in
the time domain, and
 the development process has to provide tools
for verifying the correctness of the timing.”
— Alan Burns &
Peter Puschner
Myth #1:
Software is easy
to change
Real-time systems
Timeliness computation
Myth #2:
real-time computing
means fast hardware
Real-time systems
 Periodic tasks (time triggered)
 Sporadic tasks (event triggered)
Real-time
requirements
 Hard real-time
 Soft real-time
 ...
Hard real-time
Soft real-time
Myth #3:
Hard real-time
means safety-critical
(Summary…)
 High-Integrity = Certification
 Real-Time: software issue
 Periodic / Sporadic tasks
 Hard Real-Time ≠ Safety-critical
Aislamiento espacial
 Particiones virtuales
 Protección de memoria
Hardware
 Unidad de gestión de memoria
(MMU)
Everything flows,
nothing stands still
— Heraclitus
Real-time theory
 Response time analysis
 Tasks & shared resources
 Several RT schedulability policies
 Schedulability analysis
 Worst case
Espectro de RTOS
QNX
RT Linux
VxWorks 653
LynxOS 178
ORK
RTEMS
Complejidad SSOO
Strong methods
 Ravenscar Computational Model
 Specification languages: Z, B…
 Static analysis: pragma Restrictions
 RapiTime, gnatstack, gnatcheck,
gnatsync, Spark examiner…
Traditional vs. Strong
methods
 Restricted functionality
 simplified code
 Static analysis
 not just testing!
Myth #4:
strong methods are
more expensive than
traditional methods
Supply and demand
Offre et demande
Oferta y demanda
Domanda e offerta
Закон спроса и предложения
ASSERT:
Automated proof-based
System and Software
Engineering for
Real-Time Systems
(Summary…)
 High-Integrity = Certification
 Real-Time: software issue
 Hard Real-Time ≠ Safety-critical
 Strong methods: cost effective
 Ravenscar = certification
Everything flows,
nothing stands still
— Heraclitus
Temporal
isolation
Temporal isolation
 Ada 2005 timing services
 CPU clocks
 CPU timers
 Timing events
(Ravenscar violation!)
WCET_Timer : Ada.Execution_Time.Timers.Timer(…);
task body Periodic_Task is
Next_Activation : Ada.Real_Time.Time := Epoch;
begin
loop
WCET_Timer.Set_Handler
(In_Time => My_WCET_Budget,
Handler => My_Monitor.Overrun_Handler'Access);
delay until Next_Activation;
Do_Actual_Work;
Next_Activation := Next_Activation + My_Period;
end loop;
end Periodic_Task;
Adding it to Ada?
 pragma WCET
 pragma Interarrival
 Ada.Dispatching
.Delay_Until (…)
task body Periodic_Task is
Next_Activation : Ada.Real_Time.Time := Epoch;
pragma Relative_Deadline (My_Deadline);
pragma WCET (My_WCET_Budget);
begin
loop
Ada.Dispatching.Delay_Until (Next_Activation);
Do_Actual_Work;
Next_Activation := Next_Activation + My_Period;
end loop;
end Periodic_Task;
Spatial isolation
Everything flows,
nothing stands still
— Heraclitus
Myth #5:
increasing software
reliability means
increasing system safety
RMI problems
 References to distributed
objects can change
 Dynamic connections
 No one server thread per object
 Priority inversion
DSM problems
 Transparency to the
programmer…
 …so modelization problems
 RTA is not straighforward
Simplified
run-time system
 Blocking time minimization
 High-performance
 Low footprint
Other approaches to
memory isolation
 Static analysis
 Spark integrity annotations
 Run-time checks
 New Ada checks (access dereference)
 Hardware memory protection
 Fence registers
Current
compilation toolchain
source code object codecompiler linker
kernel
executable
*.adb *.c *.exe*.o
*.a
Meta-linker
source code
partition 1
object code
partition 1
compiler linker
binary
partition 1
meta-linker
kernel
executable
source code
partition N
object code
partition N
compiler linker
.
.
.
.
.
.
*.adb *.c
*.exe
*.o
*.a
*.o
Future work
 No CPU-mode changes
 Systems High criticality apps
only:
 Supervisor mode (kernel & apps)
 Between criticality levels:
 Spark + Integrity annotations
Protection summary
 Systems High+Low criticality
apps:
 Supervisor (kernel) + user mode
 Between partitions:
 Fence registers + PIC
 Distributed Systems Annex
 Inside partitions:
 Spark, Ravenscar
 Run-time checks
Πάντα ῥεῖ καὶ
οὐδὲν μένει
— Ηρακλειτος

Contenu connexe

Similaire à thesis-suruena

Introduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cIntroduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cGuatemala User Group
 
UYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresasUYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresasNelson Calero
 
Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverEnrique Catala Bañuls
 
Presentacion Demo Open Solaris
Presentacion Demo Open SolarisPresentacion Demo Open Solaris
Presentacion Demo Open Solarisguest926912
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013Erik Gur
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosAngel Morocho
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
Frikeando Con Imagenes Virtuales Asegura It Camp
Frikeando Con Imagenes Virtuales   Asegura It CampFrikeando Con Imagenes Virtuales   Asegura It Camp
Frikeando Con Imagenes Virtuales Asegura It CampChema Alonso
 
Gestión del Cloud Computing
Gestión del Cloud ComputingGestión del Cloud Computing
Gestión del Cloud ComputingAitor Ibañez
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN StackPedro J. Molina
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackPedro J. Molina
 
Seguridad Entornos Web Open Source
Seguridad Entornos Web Open SourceSeguridad Entornos Web Open Source
Seguridad Entornos Web Open SourceVictor M. Fernández
 
Qnap nas training latam 2016 0810
Qnap nas training latam 2016 0810Qnap nas training latam 2016 0810
Qnap nas training latam 2016 0810QNAP Systems, Inc.
 

Similaire à thesis-suruena (20)

Introduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cIntroduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12c
 
UYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresasUYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresas
 
Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql server
 
Presentacion Demo Open Solaris
Presentacion Demo Open SolarisPresentacion Demo Open Solaris
Presentacion Demo Open Solaris
 
inicios en java
inicios en java inicios en java
inicios en java
 
Conectividadcableadoestructurado
ConectividadcableadoestructuradoConectividadcableadoestructurado
Conectividadcableadoestructurado
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
 
Frikeando Con Imagenes Virtuales Asegura It Camp
Frikeando Con Imagenes Virtuales   Asegura It CampFrikeando Con Imagenes Virtuales   Asegura It Camp
Frikeando Con Imagenes Virtuales Asegura It Camp
 
Gestión del Cloud Computing
Gestión del Cloud ComputingGestión del Cloud Computing
Gestión del Cloud Computing
 
Exposicio teradat
Exposicio teradatExposicio teradat
Exposicio teradat
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN Stack
 
Novedades de OpenSolaris 2009.06
Novedades de OpenSolaris 2009.06Novedades de OpenSolaris 2009.06
Novedades de OpenSolaris 2009.06
 
Seguridad Entornos Web Open Source
Seguridad Entornos Web Open SourceSeguridad Entornos Web Open Source
Seguridad Entornos Web Open Source
 
Qnap nas training latam 2016 0810
Qnap nas training latam 2016 0810Qnap nas training latam 2016 0810
Qnap nas training latam 2016 0810
 
Training LATAM
Training LATAMTraining LATAM
Training LATAM
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 

thesis-suruena