SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Towards a Reconfiguration Service
for Distributed Real-Time Java*
Pablo Basanta-Val
Marisol García-Valls
DREQUIEM LAB.
Universidad Carlos III de Madrid
* This work has been presented at REACTION Workshop 2012.
Collocated with IEEE RTSS 2012 Symposium at Puerto Rico
Outline
• Context & contribution
▫ Online scheduling & open systems
• The reconfiguration service
▫ Distributed Java approach
 Overview of real-time parameters
 Reconfiguration points
▫ Contributed Reconfiguration service
 Proposed Extensions
 Evaluation of a policy
• Conclusion and future work
2
REACTION WORKSHOP
Context & Introduction
• Many real-time systems consider admission control as a
offline line feature
▫ Clear advantages like exact algorithms
• However more and more systems are dynamic and
applications may appear and disappear
▫ Real-time CLOUD computing or real-time Open Systems
▫ How to make dynamic admission control efficient !
• Admission control for real-time performance
▫ Exact algorithms tend to be very costly !
3
REACTION
WORKSHOP
Context & Introduction
A real-time reconfiguration service in a
nutshell
• A Real-Time Reconfiguration Service for Distributed Real-
Time Java
▫ Idea:
 To define a template for reconfiguration in distributed real-
time Java applications
 It may customized for different applications
▫ Benefits:
 Real-time Java community, and DRTSJ (The Distributed
Real-Time Specification for Java)
▫ Contribution:
 Extensions to current APIS
 Real-time Reconfiguration Service
 Example global partitioner algorithm
 with some performance results
REACTION
WORKSHOP
4
Distributed Real-Time
Java middleware
• Based on DREQUIEMI
▫ Layered approach for Distributed
Real-time Java
 Infrastructure
 Distribution
 Common Services
 Applications
• Currently, it consists of three main
technologies extending RTSJ
▫ Based on Java’s RMI, {RT}-CORBA ,
and TT tenets
5
REACTION
WORKSHOP
Distributed RT Java
QoS/RT configuration parameters
• Based on the model proposed by
RTSJ
• They characterize
▫ Application release pattern
▫ Scheduling specific parameters
▫ Memory parameters
▫ Processing group options
▫ Other internal decisions
 Thread-pool
 Connection Pool
 Memory Area pool
QoS parameters in
distribution layer Meaning in DREQUIEMI
Scheduling Parameters
«Priority»
Priority used during the up-call at the
server
Release Parameters
«Release Time, Period,
Deadline, and Cost»
Invocation pattern at the server
according to the real-time scheduling
theory
Processing Group
Parameters
«Release Time, Period,
Deadline and Cost»
Group patterns at the server according
to the real-time scheduling theory
Memory Parameters
Parameters used by the garbage
collector at the server
Thread Pool
Thread pool used at the sever to
manage remote invocations
Connection Pool
Connection pool used at the client to
carry out the remote invocation
Memory Area Pool
Memory area pool used at the server to
accept remote invocations
port
The IP port on which the remote object
is accepting incoming messages
RemoteStub
The stub with the remote reference to
the remove object
EventCommonInt.
A remote object which allows
subscriptions and may be remotely
triggered.
6
REACTION
WORKSHOP
Reconfiguration
points
• Three reconfiguration points in
Distribute RT Java
▫ Resources, distribution, and
components
• Contributed reconfiguration applies to
resource management/rescheduling:
▫ Location of tasks in Remote Nodes
▫ Processor, network, and memory
REACTION
WORKSHOP
7
reconf
Reconfiguration Service
Introducing Network parameters
• RTSJ does not support the
network
▫ Centralized systems only!
• But it could be extended with it
▫ Adding new classes to the RTSJ
• Network parameters example:
▫ Priority for the IP packet (router)
▫ A maximum bit rate
▫ A complete RSVP stack, etc.
Scheduler
DistributedScheduler
Real-time Java
Distributed Real-time Java
uses MemoryParameters
SchedulingParametersuses
3ResourcesScheduler
NetworkParameters
uses
Serializable
ReconfigurationService
uses
Schedulable
RemoteSchedulable
8
REACTION
WORKSHOP
Reconfiguration Service
Distributed Scheduler
• Based on RTSJ’s
scheduler
• It allows invokers to
assign schedulables to
the task set
▫ Allocation
▫ Deallocation
• Each schedulable
defines:
▫ Release parameters,
▫ memory parameters
▫ Processing parameters
▫ Network Parameters
▫ Scheduling Parameters
01: public interface DistributedScheduler
02: extends java.rmi.Remote {
03: boolean addIfFeassible(
04: Schedulable s,
05: ReleaseParameters rs,
06: MemoryParameters mp,
07: ProcessingGroupParameters pgp,
08: NetworkParameter np )
09: throws RemoteException;
10: boolean removeIfFeassible(Schedulable s)
11: throws RemoteException;
12:}
9
REACTION
WORKSHOP
Reconfiguration Service
Reconfiguration Service
• To introduce reconfiguration on
the previous system
▫ The reconfiguration process is
modelled as a real-time
schedulable
• Based on that, the
reconfiguration service
▫ reconfiguration service =
DistributedScheduler
+ scheduling info for
DistributedScheduler
▫ The ReconfigurationService executes
on top of a scheduler.
01: public interface ReconfigurationService extends
02 DistributedScheduler, Schedulable{
03: MemoryParameters getMemoryParameters()
04: throws RemoteException;
05: ProcessingGroupParameters
06: getProcessingGroupParameters()
07: throws RemoteException;
08: ReleaseParameters
09: getReleaseParameters()
10: throws RemoteException;
11: Scheduler getScheduler();
12: throws RemoteException;
13: SchedulingParameters getSchedulingParameters();
14: throws RemoteException;
15: NetworkParameters getNetworkParameters();
16: throws RemoteException;
17: void setMemoryParameters(MemoryParameters mp)
18: throws RemoteException;
19: void setProcessingGroupParameters(
10
REACTION
WORKSHOP
Tested Scheduling Policy (1/4)
End-2-End Flow-Shop
• Flow-Shop
▫ Defined as a sequence of subtasks that execute in order (i.e. with
precedence constraints).
• Each end-to-end transaction (Γj | j 1..M) is defined as follows:
▫ Global deadline (Dj)
▫ A global period (Tj)
▫ A set of j
n schedulable segments {Sj
1….Sj
n}
 A local execution priority (Pj
n) for each end-to-end transaction segment
(Sj
n).
 A local worst-case execution time (Cj
n) for each segment (Sj
n).
11
REACTION
WORKSHOP
Tested Scheduling Policy (2/4)
Some simplifications
Client1/
2
Net1 serv1 Net2
Client
2/2
client router server
Local Priority (P)
and Cost (C)
Global Deadline (D) and period (T)
Local Priority (P)
and Cost (C)
Local Priority (P)
and Cost (C)
Local Priority (P)
and Cost (C)
Local Priority (P)
and Cost (C)
• Utilization based test
• The evaluation assumes
T=D and fixed priority (RMA)
assignment
▫ Each local deadline is calculated
• Each node runs a periodic
enforcer
▫ It allows analyzing each flux in a
node as local.
REACTION
WORKSHOP
12
Tested Scheduling Policy (3/4)
Partitioning tasks on different JVMs (T=D)
1. Global check based on global utilization
To check if it fits or not in advance
2. Sort all your tasks according to utilization
To avoid allocation anomalies
3. Assign a task to a Node (bin packing)
To select a node
4. Calculate your effective priority
To use the RTSJ 28 priorities only
5. Deploy tasks in each different node
Using a distributed scheduler
13
REACTION
WORKSHOP
1.Feasibility
2.Sort
3. Assign.
5. Remote
Deploy
4. Priority
calculus
Fail
Ok
Tested Scheduling Policy (4/4)
Additional code to be added to the policy
01: interface FlowShopSchedulables extends Schedulable{
02: Vector getAllShedulable(); //It returns all sch.
03: }
01: interface PriorityBasedReconfigurationService
02: extends ReconfigurationService{
03:}
• The tested policy requires:
▫ A new subclass for a schedulable entity
▫ A new subclass for the reconfiguration system
• In this article we provide:
▫ FlowShopSchedulables for each transaction
▫ PriorityBasedReconfigurationService to encapsulate the scheduler
REACTION
WORKSHOP
14
Evaluation
Infrastructure
• One central node to deploy
the system
▫ In charge of the
reconfiguration service
• DREQUIEMI
▫ For execution
• A real-time router
▫ IP priority enforcement
Manager
router
JVM1
JVM2
JVM N
A1 A2
...
796 Mhz
796 Mhz
Node 1
796 Mhz
300 Mhz
100 Mbps
DREQUIEMI
Jtime (TimeSys)
PriorityBased
ReconfigService
DREQUIEMI
Jtime
(TimeSys)
Distributed
Scheduler
addIfFeasible( )
796 Mhz
Node 2
Node N
A1
A2addIfFeasible( )
Tester Node
DREQUIEMI
Jtime (TimeSys)
PriorityBased
ReconfigService (stub)
DREQUIEMI
Jtime
(TimeSys)
Distributed
Scheduler
DREQUIEMI
Jtime
(TimeSys)
Distributed
Scheduler
15
REACTION
WORKSHOP
Cost tributaries
Tasks and VMs
• Cost increases with the number of
tasks and the number of processors
• Utilization, sorting, and assignment
(no deployment)
16
REACTION
WORKSHOP
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1,E+05
1,E+06
1,E+07
64
32
16
8
4
2
1
Timeconsumed(us)
Processors (JVMs) and
Network available
Feasiblity test algorithm costs
4096Tasks
1024Tasks
64Tasks
1Task
796Mhz-100 Mbps
Cost tributaries
Type of schedulable entity
• Schedulable entities
▫ Real-time threads, remote objects, and
async-event handlers
• Each schedulable offers different
performance
▫ Asynchronous event handlers have the
worst allocation time
• Remote allocation adds an extra cost
17
REACTION
WORKSHOP
1,E+03
1,E+04
1,E+05
1,E+06
1,E+07
1,E+08
4096
1024
256
64
8
1
Timeconsumed(us)
Schedulable Segments (tasks) to deploy
Allocation costs depending on the kind
of schedulable
AsyncEvent
Handler
RtRO
Rthread
1,E+03
1,E+04
1,E+05
1,E+06
1,E+07
1,E+08
4096
1024
256
64
8
1
Timeconsumed(us)
Schedulable Segments (tasks) to deploy
Remote allocation of remote entities
AsyncEven
tHandler
RtRO
Rthread
796Mhz-100 Mbps
Total reconfiguration time
• Some interesting values
▫ A 1 seconds reconfiguration allows
reconfiguring 64 distributed tasks
• It depends on the number
▫ Of tasks
▫ Number of JVMs
• All schedulables are supposed to be event
handlers
▫ They bound the worst time of a thread and a
remote object
REACTION
WORKSHOP
18
1,E+04
1,E+05
1,E+06
1,E+07
1,E+08
4096
1024
256
64
8
1
Timeconsumed(us)
Schedulable Objects to allocate
Total {re}configuration time
32JVM
16JVM
4JVM
Conclusions
• Next generation Java-based distributed real-time
systems may benefit form having an embedded
infrastructure with reconfiguration facilities
▫ Similar to the one described in the article
• However, one may choose the reconfiguration policy to
suit specific application domains
19
REACTION
WORKSHOP
Ongoing work
• To address other reconfiguration policies
▫ Different scheduling algorithms
▫ Mode change protocols
 As a way to introduce adaptation in DRTJava
 Impact of multi-core policies
• Use of real-time OSGi platforms for reconfiguration
▫ Higher level adaptation closer to application
20
REACTION
WORKSHOP
21
REACTION
WORKSHOP
Distributed Real-Time Systems Laboratory (Drequiem Lab)

Mais conteúdo relacionado

Mais procurados

Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)Rick Hightower
 
Continuent Tungsten - Scalable Saa S Data Management
Continuent Tungsten - Scalable Saa S Data ManagementContinuent Tungsten - Scalable Saa S Data Management
Continuent Tungsten - Scalable Saa S Data Managementguest2e11e8
 
Extending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event ProcessingExtending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event ProcessingOh Chan Kwon
 
Solr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationSolr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationNitin Sharma
 
Application Timeline Server Past, Present and Future
Application Timeline Server  Past, Present and FutureApplication Timeline Server  Past, Present and Future
Application Timeline Server Past, Present and FutureNaganarasimha Garla
 
Distributed Resource Scheduling Frameworks, Is there a clear Winner ?
Distributed Resource Scheduling Frameworks, Is there a clear Winner ?Distributed Resource Scheduling Frameworks, Is there a clear Winner ?
Distributed Resource Scheduling Frameworks, Is there a clear Winner ?Naganarasimha Garla
 
Some Domestic & Global projects executed by our team.
Some Domestic & Global projects executed by our team.Some Domestic & Global projects executed by our team.
Some Domestic & Global projects executed by our team.Vasant Bhanushali
 
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...Lucidworks
 
Webinar Slides: Tungsten Connector / Proxy – The Secret Sauce Behind Zero-Dow...
Webinar Slides: Tungsten Connector / Proxy – The Secret Sauce Behind Zero-Dow...Webinar Slides: Tungsten Connector / Proxy – The Secret Sauce Behind Zero-Dow...
Webinar Slides: Tungsten Connector / Proxy – The Secret Sauce Behind Zero-Dow...Continuent
 
Adaptive Replication for Elastic Data Stream Processing
Adaptive Replication for Elastic Data Stream ProcessingAdaptive Replication for Elastic Data Stream Processing
Adaptive Replication for Elastic Data Stream ProcessingZbigniew Jerzak
 
Error in hadoop
Error in hadoopError in hadoop
Error in hadoopLen Bass
 
Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...Zbigniew Jerzak
 
Cloud computing Module 2 First Part
Cloud computing Module 2 First PartCloud computing Module 2 First Part
Cloud computing Module 2 First PartSoumee Maschatak
 
Unified Stream Processing at Scale with Apache Samza by Jake Maes at Big Data...
Unified Stream Processing at Scale with Apache Samza by Jake Maes at Big Data...Unified Stream Processing at Scale with Apache Samza by Jake Maes at Big Data...
Unified Stream Processing at Scale with Apache Samza by Jake Maes at Big Data...Big Data Spain
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in KafkaJoel Koshy
 
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...bhavikpooja
 
IBM Information on Demand 2013 - Session 2839 - Using IBM PureData System fo...
IBM Information on Demand 2013  - Session 2839 - Using IBM PureData System fo...IBM Information on Demand 2013  - Session 2839 - Using IBM PureData System fo...
IBM Information on Demand 2013 - Session 2839 - Using IBM PureData System fo...Torsten Steinbach
 
High-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsHigh-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsRick Hightower
 
Anti patterns in hadoop cluster deployment
Anti patterns in hadoop cluster deploymentAnti patterns in hadoop cluster deployment
Anti patterns in hadoop cluster deploymentNaganarasimha Garla
 

Mais procurados (19)

Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)
 
Continuent Tungsten - Scalable Saa S Data Management
Continuent Tungsten - Scalable Saa S Data ManagementContinuent Tungsten - Scalable Saa S Data Management
Continuent Tungsten - Scalable Saa S Data Management
 
Extending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event ProcessingExtending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event Processing
 
Solr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationSolr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin Presentation
 
Application Timeline Server Past, Present and Future
Application Timeline Server  Past, Present and FutureApplication Timeline Server  Past, Present and Future
Application Timeline Server Past, Present and Future
 
Distributed Resource Scheduling Frameworks, Is there a clear Winner ?
Distributed Resource Scheduling Frameworks, Is there a clear Winner ?Distributed Resource Scheduling Frameworks, Is there a clear Winner ?
Distributed Resource Scheduling Frameworks, Is there a clear Winner ?
 
Some Domestic & Global projects executed by our team.
Some Domestic & Global projects executed by our team.Some Domestic & Global projects executed by our team.
Some Domestic & Global projects executed by our team.
 
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
 
Webinar Slides: Tungsten Connector / Proxy – The Secret Sauce Behind Zero-Dow...
Webinar Slides: Tungsten Connector / Proxy – The Secret Sauce Behind Zero-Dow...Webinar Slides: Tungsten Connector / Proxy – The Secret Sauce Behind Zero-Dow...
Webinar Slides: Tungsten Connector / Proxy – The Secret Sauce Behind Zero-Dow...
 
Adaptive Replication for Elastic Data Stream Processing
Adaptive Replication for Elastic Data Stream ProcessingAdaptive Replication for Elastic Data Stream Processing
Adaptive Replication for Elastic Data Stream Processing
 
Error in hadoop
Error in hadoopError in hadoop
Error in hadoop
 
Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...
 
Cloud computing Module 2 First Part
Cloud computing Module 2 First PartCloud computing Module 2 First Part
Cloud computing Module 2 First Part
 
Unified Stream Processing at Scale with Apache Samza by Jake Maes at Big Data...
Unified Stream Processing at Scale with Apache Samza by Jake Maes at Big Data...Unified Stream Processing at Scale with Apache Samza by Jake Maes at Big Data...
Unified Stream Processing at Scale with Apache Samza by Jake Maes at Big Data...
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in Kafka
 
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...An efficient approach for load balancing using dynamic ab algorithm in cloud ...
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
 
IBM Information on Demand 2013 - Session 2839 - Using IBM PureData System fo...
IBM Information on Demand 2013  - Session 2839 - Using IBM PureData System fo...IBM Information on Demand 2013  - Session 2839 - Using IBM PureData System fo...
IBM Information on Demand 2013 - Session 2839 - Using IBM PureData System fo...
 
High-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsHigh-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulations
 
Anti patterns in hadoop cluster deployment
Anti patterns in hadoop cluster deploymentAnti patterns in hadoop cluster deployment
Anti patterns in hadoop cluster deployment
 

Semelhante a Towards a real-time reconfiguration service for distributed Java

GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)Apache Apex
 
Regain Control Thanks To Prometheus
Regain Control Thanks To PrometheusRegain Control Thanks To Prometheus
Regain Control Thanks To PrometheusEtienne Coutaud
 
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationMike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationNagios
 
How kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updatedHow kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updatedShikha Srivastava
 
Measuring IPv6 using ad-based measurement
Measuring IPv6 using ad-based measurementMeasuring IPv6 using ad-based measurement
Measuring IPv6 using ad-based measurementAPNIC
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld
 
Probabilistic consolidation of virtual machines in self organizing cloud data...
Probabilistic consolidation of virtual machines in self organizing cloud data...Probabilistic consolidation of virtual machines in self organizing cloud data...
Probabilistic consolidation of virtual machines in self organizing cloud data...WMLab,NCU
 
Oracle Drivers configuration for High Availability
Oracle Drivers configuration for High AvailabilityOracle Drivers configuration for High Availability
Oracle Drivers configuration for High AvailabilityLudovico Caldara
 
2015 zData Inc. - Apache Ambari Overview
2015 zData Inc. - Apache Ambari Overview2015 zData Inc. - Apache Ambari Overview
2015 zData Inc. - Apache Ambari OverviewzData Inc.
 
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphereAAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphereKevin Sutter
 
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphereAAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphereWASdev Community
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryDoKC
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahuDr. Prakash Sahu
 
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld
 
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018 Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018 Antonios Chatzipavlis
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyRightScale
 

Semelhante a Towards a real-time reconfiguration service for distributed Java (20)

GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
 
Regain Control Thanks To Prometheus
Regain Control Thanks To PrometheusRegain Control Thanks To Prometheus
Regain Control Thanks To Prometheus
 
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationMike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
 
How kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updatedHow kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updated
 
Measuring IPv6 using ad-based measurement
Measuring IPv6 using ad-based measurementMeasuring IPv6 using ad-based measurement
Measuring IPv6 using ad-based measurement
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
Probabilistic consolidation of virtual machines in self organizing cloud data...
Probabilistic consolidation of virtual machines in self organizing cloud data...Probabilistic consolidation of virtual machines in self organizing cloud data...
Probabilistic consolidation of virtual machines in self organizing cloud data...
 
Power Apps for developers
Power Apps for developersPower Apps for developers
Power Apps for developers
 
Oracle Drivers configuration for High Availability
Oracle Drivers configuration for High AvailabilityOracle Drivers configuration for High Availability
Oracle Drivers configuration for High Availability
 
2015 zData Inc. - Apache Ambari Overview
2015 zData Inc. - Apache Ambari Overview2015 zData Inc. - Apache Ambari Overview
2015 zData Inc. - Apache Ambari Overview
 
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphereAAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
 
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphereAAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
AAI-2236 Using the new Java Concurrency Utilities with IBM WebSphere
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahu
 
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
 
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018 Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
 

Mais de Universidad Carlos III de Madrid

Mais de Universidad Carlos III de Madrid (13)

Tecnicas y extensiones para Java de tiempo real
Tecnicas y extensiones para Java de tiempo realTecnicas y extensiones para Java de tiempo real
Tecnicas y extensiones para Java de tiempo real
 
Towards a garbage collector for distributed real-time Java
Towards a garbage collector for distributed real-time JavaTowards a garbage collector for distributed real-time Java
Towards a garbage collector for distributed real-time Java
 
A simple data muling protocol
A simple data muling protocolA simple data muling protocol
A simple data muling protocol
 
Mejoras a la predictibilidad de la tecnología Java EE
Mejoras a la predictibilidad de la tecnología Java EEMejoras a la predictibilidad de la tecnología Java EE
Mejoras a la predictibilidad de la tecnología Java EE
 
Remote Memory Areas for distributed real-time Java
Remote Memory Areas for distributed real-time JavaRemote Memory Areas for distributed real-time Java
Remote Memory Areas for distributed real-time Java
 
Fine
FineFine
Fine
 
Basanta jtr2009
Basanta jtr2009Basanta jtr2009
Basanta jtr2009
 
No Heap Remote Objects for Distributed real-time Java
No Heap Remote Objects for Distributed real-time JavaNo Heap Remote Objects for Distributed real-time Java
No Heap Remote Objects for Distributed real-time Java
 
A synchronous scheduling service for distributed real-time Java
A synchronous scheduling service for distributed real-time JavaA synchronous scheduling service for distributed real-time Java
A synchronous scheduling service for distributed real-time Java
 
Simple asynchronous remote invocations for distributed real-time Java
Simple asynchronous remote invocations for distributed real-time JavaSimple asynchronous remote invocations for distributed real-time Java
Simple asynchronous remote invocations for distributed real-time Java
 
Pbasanta@jtres06 extendedportal
Pbasanta@jtres06 extendedportalPbasanta@jtres06 extendedportal
Pbasanta@jtres06 extendedportal
 
Enhancing the region model of RTSJ
Enhancing the region model of RTSJEnhancing the region model of RTSJ
Enhancing the region model of RTSJ
 
2011.jtr.pbasanta.
2011.jtr.pbasanta.2011.jtr.pbasanta.
2011.jtr.pbasanta.
 

Último

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

Towards a real-time reconfiguration service for distributed Java

  • 1. Towards a Reconfiguration Service for Distributed Real-Time Java* Pablo Basanta-Val Marisol García-Valls DREQUIEM LAB. Universidad Carlos III de Madrid * This work has been presented at REACTION Workshop 2012. Collocated with IEEE RTSS 2012 Symposium at Puerto Rico
  • 2. Outline • Context & contribution ▫ Online scheduling & open systems • The reconfiguration service ▫ Distributed Java approach  Overview of real-time parameters  Reconfiguration points ▫ Contributed Reconfiguration service  Proposed Extensions  Evaluation of a policy • Conclusion and future work 2 REACTION WORKSHOP
  • 3. Context & Introduction • Many real-time systems consider admission control as a offline line feature ▫ Clear advantages like exact algorithms • However more and more systems are dynamic and applications may appear and disappear ▫ Real-time CLOUD computing or real-time Open Systems ▫ How to make dynamic admission control efficient ! • Admission control for real-time performance ▫ Exact algorithms tend to be very costly ! 3 REACTION WORKSHOP
  • 4. Context & Introduction A real-time reconfiguration service in a nutshell • A Real-Time Reconfiguration Service for Distributed Real- Time Java ▫ Idea:  To define a template for reconfiguration in distributed real- time Java applications  It may customized for different applications ▫ Benefits:  Real-time Java community, and DRTSJ (The Distributed Real-Time Specification for Java) ▫ Contribution:  Extensions to current APIS  Real-time Reconfiguration Service  Example global partitioner algorithm  with some performance results REACTION WORKSHOP 4
  • 5. Distributed Real-Time Java middleware • Based on DREQUIEMI ▫ Layered approach for Distributed Real-time Java  Infrastructure  Distribution  Common Services  Applications • Currently, it consists of three main technologies extending RTSJ ▫ Based on Java’s RMI, {RT}-CORBA , and TT tenets 5 REACTION WORKSHOP
  • 6. Distributed RT Java QoS/RT configuration parameters • Based on the model proposed by RTSJ • They characterize ▫ Application release pattern ▫ Scheduling specific parameters ▫ Memory parameters ▫ Processing group options ▫ Other internal decisions  Thread-pool  Connection Pool  Memory Area pool QoS parameters in distribution layer Meaning in DREQUIEMI Scheduling Parameters «Priority» Priority used during the up-call at the server Release Parameters «Release Time, Period, Deadline, and Cost» Invocation pattern at the server according to the real-time scheduling theory Processing Group Parameters «Release Time, Period, Deadline and Cost» Group patterns at the server according to the real-time scheduling theory Memory Parameters Parameters used by the garbage collector at the server Thread Pool Thread pool used at the sever to manage remote invocations Connection Pool Connection pool used at the client to carry out the remote invocation Memory Area Pool Memory area pool used at the server to accept remote invocations port The IP port on which the remote object is accepting incoming messages RemoteStub The stub with the remote reference to the remove object EventCommonInt. A remote object which allows subscriptions and may be remotely triggered. 6 REACTION WORKSHOP
  • 7. Reconfiguration points • Three reconfiguration points in Distribute RT Java ▫ Resources, distribution, and components • Contributed reconfiguration applies to resource management/rescheduling: ▫ Location of tasks in Remote Nodes ▫ Processor, network, and memory REACTION WORKSHOP 7 reconf
  • 8. Reconfiguration Service Introducing Network parameters • RTSJ does not support the network ▫ Centralized systems only! • But it could be extended with it ▫ Adding new classes to the RTSJ • Network parameters example: ▫ Priority for the IP packet (router) ▫ A maximum bit rate ▫ A complete RSVP stack, etc. Scheduler DistributedScheduler Real-time Java Distributed Real-time Java uses MemoryParameters SchedulingParametersuses 3ResourcesScheduler NetworkParameters uses Serializable ReconfigurationService uses Schedulable RemoteSchedulable 8 REACTION WORKSHOP
  • 9. Reconfiguration Service Distributed Scheduler • Based on RTSJ’s scheduler • It allows invokers to assign schedulables to the task set ▫ Allocation ▫ Deallocation • Each schedulable defines: ▫ Release parameters, ▫ memory parameters ▫ Processing parameters ▫ Network Parameters ▫ Scheduling Parameters 01: public interface DistributedScheduler 02: extends java.rmi.Remote { 03: boolean addIfFeassible( 04: Schedulable s, 05: ReleaseParameters rs, 06: MemoryParameters mp, 07: ProcessingGroupParameters pgp, 08: NetworkParameter np ) 09: throws RemoteException; 10: boolean removeIfFeassible(Schedulable s) 11: throws RemoteException; 12:} 9 REACTION WORKSHOP
  • 10. Reconfiguration Service Reconfiguration Service • To introduce reconfiguration on the previous system ▫ The reconfiguration process is modelled as a real-time schedulable • Based on that, the reconfiguration service ▫ reconfiguration service = DistributedScheduler + scheduling info for DistributedScheduler ▫ The ReconfigurationService executes on top of a scheduler. 01: public interface ReconfigurationService extends 02 DistributedScheduler, Schedulable{ 03: MemoryParameters getMemoryParameters() 04: throws RemoteException; 05: ProcessingGroupParameters 06: getProcessingGroupParameters() 07: throws RemoteException; 08: ReleaseParameters 09: getReleaseParameters() 10: throws RemoteException; 11: Scheduler getScheduler(); 12: throws RemoteException; 13: SchedulingParameters getSchedulingParameters(); 14: throws RemoteException; 15: NetworkParameters getNetworkParameters(); 16: throws RemoteException; 17: void setMemoryParameters(MemoryParameters mp) 18: throws RemoteException; 19: void setProcessingGroupParameters( 10 REACTION WORKSHOP
  • 11. Tested Scheduling Policy (1/4) End-2-End Flow-Shop • Flow-Shop ▫ Defined as a sequence of subtasks that execute in order (i.e. with precedence constraints). • Each end-to-end transaction (Γj | j 1..M) is defined as follows: ▫ Global deadline (Dj) ▫ A global period (Tj) ▫ A set of j n schedulable segments {Sj 1….Sj n}  A local execution priority (Pj n) for each end-to-end transaction segment (Sj n).  A local worst-case execution time (Cj n) for each segment (Sj n). 11 REACTION WORKSHOP
  • 12. Tested Scheduling Policy (2/4) Some simplifications Client1/ 2 Net1 serv1 Net2 Client 2/2 client router server Local Priority (P) and Cost (C) Global Deadline (D) and period (T) Local Priority (P) and Cost (C) Local Priority (P) and Cost (C) Local Priority (P) and Cost (C) Local Priority (P) and Cost (C) • Utilization based test • The evaluation assumes T=D and fixed priority (RMA) assignment ▫ Each local deadline is calculated • Each node runs a periodic enforcer ▫ It allows analyzing each flux in a node as local. REACTION WORKSHOP 12
  • 13. Tested Scheduling Policy (3/4) Partitioning tasks on different JVMs (T=D) 1. Global check based on global utilization To check if it fits or not in advance 2. Sort all your tasks according to utilization To avoid allocation anomalies 3. Assign a task to a Node (bin packing) To select a node 4. Calculate your effective priority To use the RTSJ 28 priorities only 5. Deploy tasks in each different node Using a distributed scheduler 13 REACTION WORKSHOP 1.Feasibility 2.Sort 3. Assign. 5. Remote Deploy 4. Priority calculus Fail Ok
  • 14. Tested Scheduling Policy (4/4) Additional code to be added to the policy 01: interface FlowShopSchedulables extends Schedulable{ 02: Vector getAllShedulable(); //It returns all sch. 03: } 01: interface PriorityBasedReconfigurationService 02: extends ReconfigurationService{ 03:} • The tested policy requires: ▫ A new subclass for a schedulable entity ▫ A new subclass for the reconfiguration system • In this article we provide: ▫ FlowShopSchedulables for each transaction ▫ PriorityBasedReconfigurationService to encapsulate the scheduler REACTION WORKSHOP 14
  • 15. Evaluation Infrastructure • One central node to deploy the system ▫ In charge of the reconfiguration service • DREQUIEMI ▫ For execution • A real-time router ▫ IP priority enforcement Manager router JVM1 JVM2 JVM N A1 A2 ... 796 Mhz 796 Mhz Node 1 796 Mhz 300 Mhz 100 Mbps DREQUIEMI Jtime (TimeSys) PriorityBased ReconfigService DREQUIEMI Jtime (TimeSys) Distributed Scheduler addIfFeasible( ) 796 Mhz Node 2 Node N A1 A2addIfFeasible( ) Tester Node DREQUIEMI Jtime (TimeSys) PriorityBased ReconfigService (stub) DREQUIEMI Jtime (TimeSys) Distributed Scheduler DREQUIEMI Jtime (TimeSys) Distributed Scheduler 15 REACTION WORKSHOP
  • 16. Cost tributaries Tasks and VMs • Cost increases with the number of tasks and the number of processors • Utilization, sorting, and assignment (no deployment) 16 REACTION WORKSHOP 1,E+00 1,E+01 1,E+02 1,E+03 1,E+04 1,E+05 1,E+06 1,E+07 64 32 16 8 4 2 1 Timeconsumed(us) Processors (JVMs) and Network available Feasiblity test algorithm costs 4096Tasks 1024Tasks 64Tasks 1Task 796Mhz-100 Mbps
  • 17. Cost tributaries Type of schedulable entity • Schedulable entities ▫ Real-time threads, remote objects, and async-event handlers • Each schedulable offers different performance ▫ Asynchronous event handlers have the worst allocation time • Remote allocation adds an extra cost 17 REACTION WORKSHOP 1,E+03 1,E+04 1,E+05 1,E+06 1,E+07 1,E+08 4096 1024 256 64 8 1 Timeconsumed(us) Schedulable Segments (tasks) to deploy Allocation costs depending on the kind of schedulable AsyncEvent Handler RtRO Rthread 1,E+03 1,E+04 1,E+05 1,E+06 1,E+07 1,E+08 4096 1024 256 64 8 1 Timeconsumed(us) Schedulable Segments (tasks) to deploy Remote allocation of remote entities AsyncEven tHandler RtRO Rthread 796Mhz-100 Mbps
  • 18. Total reconfiguration time • Some interesting values ▫ A 1 seconds reconfiguration allows reconfiguring 64 distributed tasks • It depends on the number ▫ Of tasks ▫ Number of JVMs • All schedulables are supposed to be event handlers ▫ They bound the worst time of a thread and a remote object REACTION WORKSHOP 18 1,E+04 1,E+05 1,E+06 1,E+07 1,E+08 4096 1024 256 64 8 1 Timeconsumed(us) Schedulable Objects to allocate Total {re}configuration time 32JVM 16JVM 4JVM
  • 19. Conclusions • Next generation Java-based distributed real-time systems may benefit form having an embedded infrastructure with reconfiguration facilities ▫ Similar to the one described in the article • However, one may choose the reconfiguration policy to suit specific application domains 19 REACTION WORKSHOP
  • 20. Ongoing work • To address other reconfiguration policies ▫ Different scheduling algorithms ▫ Mode change protocols  As a way to introduce adaptation in DRTJava  Impact of multi-core policies • Use of real-time OSGi platforms for reconfiguration ▫ Higher level adaptation closer to application 20 REACTION WORKSHOP