SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Real-Time Java
for Latency Critical
Banking Applications

Bertrand Delsart                  Real-Time
JavaRTS Technical Leader           System
Author of Sun's RTGC technology
Agenda
•   Background
•   Benefits of a Real-Time Java Virtual Machine
•   Benefits of Real-Time Garbage Collectors
•   Q&A




                      QCon 2008 - Bertrand.Delsart@Sun.COM   2
Agenda
•   Background
•   Benefits of a Real-Time Java Virtual Machine
•   Benefits of Real-Time Garbage Collectors
•   Q&A




                      QCon 2008 - Bertrand.Delsart@Sun.COM   3
Background

Banking Trend
• Avoiding latencies (unexpected delays) has always been
  important

Steve Rubinow (NYSE Group CTO):
“ If you've got some trades going through at 10 milliseconds
   and some at 1 millisecond, that's a problem. Our
   customers don't like variance”




                     QCon 2008 - Bertrand.Delsart@Sun.COM      4
Background

Banking Trend
• Physical co-location is removing the external sources of
  jitter (variation of execution time)
• Application jitter is now much more visible
Dave Cummings (BATS CEO)
“Five years ago we were talking seconds, now we're into
  the milliseconds. Five years from now we'll probably be
  measuring latency in microseconds”
Alistair Brown (LIME Brokerage CEO)
“ Shortly, we'll be talking micro- versus milliseconds, and at
  that point speed will probably have less and less
  relevance”
                      QCon 2008 - Bertrand.Delsart@Sun.COM       5
Background

Categories of Application Predictability

      Non        • No time-based deadlines
    real-time    > Standard programming logic
                 > Example: UI, web services, algorithmic calculations


                 • Deadlines may be missed occasionally
      Soft         under well-defined conditions
    real-time    > Mainstream real-time needs
                 > Example: Automated trading system, 3G telco router


                 • Deadlines cannot be missed
      Hard       > Typically highest priority on system
    real-time    > Example: Robotic motion control and management,
                     Data feed processing

                QCon 2008 - Bertrand.Delsart@Sun.COM                     6
Background

Traditional Design Choices to Improve Predictability

   Use mainstream                                     Use customized lower-
programming tools and                OR             level tools and proprietary
  standard platforms                                         platforms


> Everything is equally                               > Predictable solution, but...
  important; so try go faster to                      > Expensive – dedicated
  get everything done                                   tools, training, headcount;
> Guessing game: no                                     longer development cycles,
  guarantee that deadlines will                         complicated maintenance
  be met – just postponed                             > Challenging integration of
> Low infrastructure utilization                        real-time elements with the
> Lack of predictable solution                          standard applications

                           QCon 2008 - Bertrand.Delsart@Sun.COM                        7
Background

Traditional Real-Time Design Choices: Examples
• Example 1: Global engineering conglomerate needs PLC
  control elements with hard real-time capabilities for industrial
  automation
PC-oriented SBC boards cost                            Custom boards from a specialized
 ~20% of custom boards but
have no integrated real-time
                                       OR                 provider are very costly and
                                                        require more for software/tools
          solution
• Example 2: Leading financial services institution needs to
  scale its market-facing system while meeting Service Level
  Agreements
Standard Java applications offer                         Legacy system able to meet
flexibility and scalability but GC                     current SLAs but no longer viable
     pauses threaten SLAs              OR              with regard to maintainability and
                                                                   scalability
                              QCon 2008 - Bertrand.Delsart@Sun.COM                          8
Background

Real-Time Design Choices

    Use mainstream                                  Use customized lower-
  programming tools and              OR                 level tools and
    standard platforms                               proprietary platforms
                     How about an open
              standards-based platform
                      that formally >deals solution, but...
> Everything is equally               Predictable
              with real-time challenges?
  important; try go faster to       > Expensive – dedicated
  get everything done                                   tools, training, headcount,
> Guessing game – no                                    longer development cycles,
  guarantee that deadlines will                         effort-intensive maintenance
  be met                                              > Challenging integration of
> Low infrastructure utilization                        real-time elements with the
> Lack of predictable solution                          standard applications
                           QCon 2008 - Bertrand.Delsart@Sun.COM                        9
Background

Real-Time Specification for Java (RTSJ)


   1998                 2002                2005                    2007        2008
  Real-Time          JSR-001             RTSJ update
 Specification for   approved by the     proposal               RTGC added to
 Java (JSR-001)      Java Community      submitted              Sun Java RTS
 proposal            Process             (JSR-282)
 submitted                                                      Others
                                                                companies
 Joint Sun/IBM                           - Apogee                               New Sun/IBM JSR
                                                                implementing
 Many others:        TimeSys             Aphelion
                                                                RTSJ (not yet
 Ajile, Apogee,      Reference           - Sun Java
                                                                certified)
 Motorola, Nortel,   Implementation      Real-Time
 QNX, Thales,                            System
 TimeSys,                                - IBM's
 WindRiver                               webSphere
                                         RealTime




                                  QCon 2008 - Bertrand.Delsart@Sun.COM                            10
Agenda
•   Background
•   Benefits of a Real-Time Java Virtual Machine
•   Benefits of Real-Time Garbage Collectors
•   Q&A




                      QCon 2008 - Bertrand.Delsart@Sun.COM   11
RTSJ

Use case 1: Send Market Data at a Fixed Rate

          Neither too late... nor too often !
• Mainstream Java solution:
  while (true) do {
    compute_data();
    now = System.currentTimeMillis()
    Thread.sleep(next_period – now);
    send_data();
    next_period += period;
  }
• Problem:
  > Not guaranteed to wake-up quickly after the sleep call !

                       QCon 2008 - Bertrand.Delsart@Sun.COM    12
RTSJ

RTSJ Benefit 1 : Priority Semantic
  You must specify the relative importance of the tasks,
      including with respect to the other processes.

              Mainstream “setPriority(10);”
                        is not sufficient !

• RTSJ offers in Java usual real-time scheduling semantics
  > RealtimeThreads preempt non real-time ones
  > Higher priority threads preempt lower priority ones
  > Locks are properly handled (a low priority thread owning a
       critical resource will be boosted by the thread that requires it)
                           QCon 2008 - Bertrand.Delsart@Sun.COM            13
RTSJ

Use case 1 revisited
• Code executed by a RealtimeThread
  setPriority(my_RTPriority);
  while (true) do {
    compute_data();
    now = System.currentTimeMillis()
    Thread.sleep(next_period – now);
    send_data();
    next_period += period;
  }
• Problem:
  > What if a more important RT threads preempts me just before
       calling sleep ?
                         QCon 2008 - Bertrand.Delsart@Sun.COM     14
RTSJ

RTSJ Benefit 2: Rich Real-Time APIs
• RTSJ provides what you will find in most RT Operating
  Systems
  > Absolute Time Clock, Timers, Non Blocking Queues...
• RTSJ provides an additional layer to make your life
  simpler
  > Periodic Threads, Asynchronous Event Handlers,
       RawMemoryAccess, Deadline Miss Monitoring and
       Management, Asynchronous Transfer of Control...
• RTSJ optionally defines advanced APIs
  > Cost Overflow Monitoring and Management, Feasibility
       Analysis...


                        QCon 2008 - Bertrand.Delsart@Sun.COM   15
RTSJ

Use case 1, RTSJ version
• Code executed by a RealtimeThread
  setPriority(my_RTPriority);
  setReleaseParameters(myPeriodParam);
  while (true) do {
    compute_data();
    RealtimeThread.waitForNextPeriod();
    send_data();
  }
  (other variants with Timers, AbsoluteTime wait, ...)
• Problem:
  > Is this sufficient ?

                           QCon 2008 - Bertrand.Delsart@Sun.COM   16
RTSJ

Yes... if optimized for Determinism
• The fastest Garbage Collectors suspend all the threads
  while they recycle memory

• The fastest JIT compilers make some assumptions to
  generate more efficient code and must 'deoptimize'
  threads if the assumption becomes invalid

• Solution 1:
  > RTSJ defines additional threads optimized for determinism and
    isolated for GC jitter.
  > They are as deterministic as C/C++ code !

                      QCon 2008 - Bertrand.Delsart@Sun.COM          17
RTSJ

NoHeapRealtimeThreads
• Code executed by a NoHeapRealtimeThread
  setPriority(my_RTPriority);
  setReleaseParameters(myPeriodParam);
  while (true) do {
    compute_data();
    RealtimeThread.waitForNextPeriod();
    send_data();
  }
• Problem:
  > What about memory allocation since 'isolated' from the GC ?



                      QCon 2008 - Bertrand.Delsart@Sun.COM        18
RTSJ

Memory areas for NHRTs

 Don't bother if 200 microseconds latencies are OK !!!

• ImmortalMemory for non recycled objects
• ScopedMemory for recycling
  >    Memory areas not subject to the Garbage Collector
  >    Per area counters to know how many threads are using an area
  >    Objects automatically deleted when the count of their area is 0
  >    Dynamic read/write checks to guarantee the safety of this
       recycling

                          QCon 2008 - Bertrand.Delsart@Sun.COM           19
RTSJ

Use case 1, ScopedMemory version
• Code executed by a NoHeapRealtimeThread
  while (true) do {
    scopedMemory1.enter(runnable);
    // sm1 recycled for the next loop
  }
  void run() {
    compute_data();
    waitForNextPeriod();
    send_data();
  }
• Problem:
  > Is send_data() endorsing read/write constraints ?
                       QCon 2008 - Bertrand.Delsart@Sun.COM   20
Agenda
•   Background
•   Benefits of a Real-Time Java Virtual Machine
•   Benefits of Real-Time Garbage Collectors
•   Q&A




                      QCon 2008 - Bertrand.Delsart@Sun.COM   21
RTGCs in General

Making Java Predictable, RTGC
• Real-Time GC
  > Essentially a “garbage collector with knobs”
  > Large interrupts are avoided at the cost of small, regular, and
    predictable collections
  > The GC runs often enough to recycle memory on time,
    depending on allocation and collection rates
• Several models/approaches exist
  > IBM, Aicas, Sun, ...
• Way simpler from a coding point of view
  > Single heap
  > No read/write checks

                           QCon 2008 - Bertrand.Delsart@Sun.COM       22
RTSJ + RTGCs

Overall System Model
                                                          Real-time code and
                                                          existing, non real-time,
               Real-Time JVM                              code can communicate,
                                                          share memory, state, and
                                                          overall environment –

         Non       • Standard Java Heap                   something not possible in
                                                          current real-time
                   > Regular Java threads                 solutions
       real-time
                   • Standard Java Heap or
         Soft        Scoped or Immortal memory
       real-time   > Real-Time threads
                   > Real-Time Garbage Collector

                   • Scoped/Immortal/Heap
         Hard      > NoHeapReal-Time threads
       real-time   > Real-Time threads
                   > Hard Real-Time Garbage Collector


                   QCon 2008 - Bertrand.Delsart@Sun.COM                          23
Java RTS

 Sun's RTGC
 Apply concept of policy to Henriksson's approach
 • Goal: Hard RT latencies for high priority GC'd threads
 • Solution: implement GC as real-time threads
   > Running at a priority lower than the hard RT threads
   > And possibly concurrently with the other threads
 • Advantages
    > Scalable (no issues with multi-processor support)
    > Flexible




                          QCon 2008 - Bertrand.Delsart@Sun.COM   24
Java RTS

Default RTGC Scheduling Policy
                                                 Could run concurrently
                   Priority                        on another CPU
       NHRTs

   Critical RT threads

 Boosted GC Work
  at GC Max prio
   Soft RT threads                                                   Run-to-block GC

 Start GC Work
 at low priority
                                                                           Time
  Thread doing work
  Thread pause – priority interruption Boosting (Remaining Memory Too Low)
  GC active/running


                              QCon 2008 - Bertrand.Delsart@Sun.COM                     25
Java RTS

Use case 1 revisited
• Code executed by a hard RealtimeThread
  while (true) do {
    waitForNextPeriod();
    send_data();
  }
• Code executed by a soft RealtimeThread
  while (true) do {
    compute_data();
    waitForNextPeriod();
  }
• softRT.setDeadlineMissHandler(dmh)

                   QCon 2008 - Bertrand.Delsart@Sun.COM   26
Java RTS

Use case 1 Deadline Miss Handler
• Hard Real-Time AsynchronousEventHandler
  void handleAsyncEvent() {
    quickly_compute_simpler_data();
    softRTThread.schedulePeriodic();
  }

  or

  void handleAsyncEvent() {
    softRTTThread.setPriority(hardPrio);
    softRTThread.schedulePeriodic();
  }
                  QCon 2008 - Bertrand.Delsart@Sun.COM   27
Java RTS

Use Case 2 : Events Driven Request with Deadlines

• A request is valid:
  > For a limited time
  > When a set of asynchronous input feeds dependent conditions
    are true
• Proposed design:
  > Use a high priority critical thread for the request
  > If necessary, rely on priority boosting to safely use locks to
    check the <condition,deadline> pair(s)
  > Use AsynchronousEventHandlers to process the input feeds
     > Potentially at different priorities (hard and/or soft)
     > Use Minimum Inter-arrival Time policies to handle overflows


                          QCon 2008 - Bertrand.Delsart@Sun.COM       28
Java RTS

Use Case 3 : NASDAQ
“Reduce I/O Jitter and Context Switches”
• I/O must not hold other requests
• Implemented Solution:
  > One thread per-CPU
     > One front-end to receive requests and executed non I/O ones
     > I/O requests dispatched to another thread
     > I/O completion can be seen as a new request by the front-end
• Benefits from Java RTS deterministic compilation and
  memory management but :
  > What if I/O requests can be processed at different rates ?
  > Could I handle more non I/O requests ?



                          QCon 2008 - Bertrand.Delsart@Sun.COM        29
Java RTS

Use Case 3 : Why Care about Context Switches ?

               This should not be your role !
• Risk : under-utilization of resources
• Scalable Design:
  > Chosen number of high priority time-critical front-end threads
     > Could even be at different priorities depending on the input stream
  > AsynchronousEventHandler to process I/Os at a lower priority
     > New I/O processing threads will automatically be created by the VM
       server thread pool to maximize the number of parallel requests
     > Requests started later can complete earlier
     > The server thread automatically grabs a new one... without context
       switch


                          QCon 2008 - Bertrand.Delsart@Sun.COM               30
Java RTS

Sun Java RTS Unique Selling Proposition

  Sun's Java Real-Time System – absolute execution
  predictability with all the benefits of the Java platform

• Truly predictable, sample
  latency numbers:
   > RTGC: 200 microseconds
                                             Standard          Java RTS
   > NHRT: 20 microseconds                Java SE libraries     libraries
                                             Sun Java RTS VM
• Open
   > Based on open,                      SOLARIS 10            RTLinux

     community-driven                  SPARC                  x86
     standards

                     QCon 2008 - Bertrand.Delsart@Sun.COM                   31
Java RTS

  Customer Evaluations
   • Over 500 companies and universities from more than
     60 countries have evaluated Sun Java Real-Time System
   • Some data points from them:
     Maximum Latency Required                                                Evaluations by Industry


                                                      < 10 micros
                                                                                                       Financial serv-
                                                      10-100 mi-                                       ices
                                                      cros                                             Telecom
                                                      100-1000                                         Military/ Aer-
                                                      micros                                           ospace
                                                      1-10 millis                                      Automotive
                                                      10-100 millis                                    Other industry
                                                                                                       Educational
                                                                                                       use




             Maximum latency

Source: Evaluation download survey for Sun Java RTS

                                                      QCon 2008 - Bertrand.Delsart@Sun.COM                               32
Product Overview

Key Benefits of RTSJ
          TECHNICAL                                     BUSINESS
•   Maximize system utilization                • Eliminate latency outliers
•   Cross-platform portability                     > Save millions of $ lost due to
                                                       missed market opportunities,
•   Leverage standard OS's                             productivity losses etc.
•   Real-time tools                            • Eliminate risks inherent in
                                                 custom and proprietary
                                                 solutions
                                               • Leverage investment
                                                 in existing Java code, skills
                                               • Increase developer
                                                 productivity using Java

                         QCon 2008 - Bertrand.Delsart@Sun.COM                         33
Product Overview

Key Benefits of RTSJ + RTGC
           TECHNICAL                                    BUSINESS
•   Maximize system utilization                • Eliminate latency outliers
•   Cross-platform portability                     > Save millions of $ lost due to
                                                       missed market opportunities,
•   Leverage standard OS's                             productivity losses etc.
•   Real-time tools                            • Eliminate risks inherent in
                                                 custom and proprietary
•   Minimize solution complexity                 solutions
•   Better design / architecture               • Leverage investment
    choices                                      in existing Java code, skills
                                               • Increase developer
                                                 productivity using Java

                         QCon 2008 - Bertrand.Delsart@Sun.COM                         34
Product Overview

Key Benefits of Sun Java RTS
           TECHNICAL                                     BUSINESS
•   Maximize system utilization                 • Eliminate latency outliers
    even more (hard + soft RT)                      > Save millions of $ lost due to
                                                        missed market opportunities,
•   Cross-platform portability                          productivity losses etc.
•   Leverage standard OS's                      • Eliminate risks inherent in
•   Real-time tools (DTrace)                      custom and proprietary
                                                  solutions
•   Minimize solution complexity
                                                • Leverage investment
•   Better design / architecture                  in existing Java code, skills
    choices
                                                • Increase developer
•   Easy integration of hard, soft,               productivity using Java
    and non time-critical design
    elements
                          QCon 2008 - Bertrand.Delsart@Sun.COM                         35
Questions?
Bertrand.Delsart@Sun.COM

Weitere ähnliche Inhalte

Was ist angesagt?

Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Cary Millsap
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise ArchitectureRaman Kannan
 
BSM201.pdf
BSM201.pdfBSM201.pdf
BSM201.pdfNovell
 
Virtualizing Business Critical Apps
Virtualizing Business Critical AppsVirtualizing Business Critical Apps
Virtualizing Business Critical Appsheraldschelke
 
Cloud Computing -- Organizational Shift
Cloud Computing -- Organizational ShiftCloud Computing -- Organizational Shift
Cloud Computing -- Organizational ShiftRaman Kannan
 
Novell Success Stories: Collaboration in Education
Novell Success Stories: Collaboration in EducationNovell Success Stories: Collaboration in Education
Novell Success Stories: Collaboration in EducationNovell
 
Talk IT_ Oracle_이범_110727
Talk IT_ Oracle_이범_110727Talk IT_ Oracle_이범_110727
Talk IT_ Oracle_이범_110727Cana Ko
 
Engineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the FutureEngineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the FutureBob Rhubart
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented ArchitectureBob Rhubart
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadisdandre
 
Engineered Systems: Oracle’s Vision for the Future
Engineered Systems: Oracle’s Vision for the FutureEngineered Systems: Oracle’s Vision for the Future
Engineered Systems: Oracle’s Vision for the FutureBob Rhubart
 
Roger boesch news xd_xa_nov (1)
Roger boesch news xd_xa_nov (1)Roger boesch news xd_xa_nov (1)
Roger boesch news xd_xa_nov (1)Digicomp Academy AG
 
Liquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANALiquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANASAP Technology
 
The fantastic 12 of sql server 2012
The fantastic 12 of sql server 2012The fantastic 12 of sql server 2012
The fantastic 12 of sql server 2012Medyasoft
 
IDC Says, Don't Move To The Cloud
IDC Says, Don't Move To The CloudIDC Says, Don't Move To The Cloud
IDC Says, Don't Move To The CloudNovell
 
Deploying hp cloud
Deploying hp cloudDeploying hp cloud
Deploying hp clouddamienjoyce
 
Stott May Presentation
Stott May PresentationStott May Presentation
Stott May Presentationcaoimheos
 
Grid rac preso 051007
Grid rac preso 051007Grid rac preso 051007
Grid rac preso 051007Sal Marcus
 

Was ist angesagt? (20)

Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise Architecture
 
BSM201.pdf
BSM201.pdfBSM201.pdf
BSM201.pdf
 
Virtualizing Business Critical Apps
Virtualizing Business Critical AppsVirtualizing Business Critical Apps
Virtualizing Business Critical Apps
 
Shalini xs10
Shalini xs10Shalini xs10
Shalini xs10
 
Cloud Computing -- Organizational Shift
Cloud Computing -- Organizational ShiftCloud Computing -- Organizational Shift
Cloud Computing -- Organizational Shift
 
Novell Success Stories: Collaboration in Education
Novell Success Stories: Collaboration in EducationNovell Success Stories: Collaboration in Education
Novell Success Stories: Collaboration in Education
 
Talk IT_ Oracle_이범_110727
Talk IT_ Oracle_이범_110727Talk IT_ Oracle_이범_110727
Talk IT_ Oracle_이범_110727
 
Engineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the FutureEngineered Systems: Oracle's Vision for the Future
Engineered Systems: Oracle's Vision for the Future
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis
 
Engineered Systems: Oracle’s Vision for the Future
Engineered Systems: Oracle’s Vision for the FutureEngineered Systems: Oracle’s Vision for the Future
Engineered Systems: Oracle’s Vision for the Future
 
Roger boesch news xd_xa_nov (1)
Roger boesch news xd_xa_nov (1)Roger boesch news xd_xa_nov (1)
Roger boesch news xd_xa_nov (1)
 
Liquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANALiquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANA
 
The fantastic 12 of sql server 2012
The fantastic 12 of sql server 2012The fantastic 12 of sql server 2012
The fantastic 12 of sql server 2012
 
IDC Says, Don't Move To The Cloud
IDC Says, Don't Move To The CloudIDC Says, Don't Move To The Cloud
IDC Says, Don't Move To The Cloud
 
Deploying hp cloud
Deploying hp cloudDeploying hp cloud
Deploying hp cloud
 
Stott May Presentation
Stott May PresentationStott May Presentation
Stott May Presentation
 
Grid rac preso 051007
Grid rac preso 051007Grid rac preso 051007
Grid rac preso 051007
 

Andere mochten auch

Learn to Transform Yourself from an Expert to Thought Leader - Mitchell Levy
Learn to Transform Yourself from an Expert to Thought Leader - Mitchell LevyLearn to Transform Yourself from an Expert to Thought Leader - Mitchell Levy
Learn to Transform Yourself from an Expert to Thought Leader - Mitchell LevySVForum Marketing SIG
 
Leadership: The One and Only Path To Becoming a (great) Leader
Leadership: The One and Only Path To Becoming a (great) LeaderLeadership: The One and Only Path To Becoming a (great) Leader
Leadership: The One and Only Path To Becoming a (great) LeaderAdhika Dirgantara
 
Thought Leadership--What is it and how do I become a leader?
Thought Leadership--What is it and how do I become a leader?Thought Leadership--What is it and how do I become a leader?
Thought Leadership--What is it and how do I become a leader?ReadyTalk
 
Why You Need A Customer Persona: Stories need characters
Why You Need A Customer Persona: Stories need charactersWhy You Need A Customer Persona: Stories need characters
Why You Need A Customer Persona: Stories need charactersAllan Caeg
 
Marketing Funnel, Customer Journey & Persona Mapping by VirtualCMO Feb 2014
Marketing Funnel, Customer Journey & Persona Mapping by VirtualCMO Feb 2014Marketing Funnel, Customer Journey & Persona Mapping by VirtualCMO Feb 2014
Marketing Funnel, Customer Journey & Persona Mapping by VirtualCMO Feb 2014Shane Lennon
 
Customer Journey Maps and Buyer Personas
Customer Journey Maps and Buyer PersonasCustomer Journey Maps and Buyer Personas
Customer Journey Maps and Buyer PersonasGoodbuzz Inc.
 
Customer Research & Persona Development
Customer Research & Persona DevelopmentCustomer Research & Persona Development
Customer Research & Persona DevelopmentWilliam Evans
 
Transforming the Design Process
Transforming the Design ProcessTransforming the Design Process
Transforming the Design ProcessMarco Ferruzca
 
Survey 2016 acimit-blumine
Survey 2016 acimit-blumineSurvey 2016 acimit-blumine
Survey 2016 acimit-bluminefranztunda
 
Randy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural PrinciplesRandy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural Principlesdeimos
 
Webcasting In The Efl Class 1
Webcasting In The Efl Class 1Webcasting In The Efl Class 1
Webcasting In The Efl Class 1cristiarnau
 
Eoi 2nd day
Eoi 2nd dayEoi 2nd day
Eoi 2nd daycristiarnau
 
Present Perfect: forms and uses
Present Perfect: forms and usesPresent Perfect: forms and uses
Present Perfect: forms and usesMaribel Gonzalez
 
You have it? Tips for successful business handoffs
You have it? Tips for successful business handoffsYou have it? Tips for successful business handoffs
You have it? Tips for successful business handoffsIan Lurie
 
Weird, Useful, Significant: Marketing as Worldbuilding
Weird, Useful, Significant: Marketing as WorldbuildingWeird, Useful, Significant: Marketing as Worldbuilding
Weird, Useful, Significant: Marketing as WorldbuildingIan Lurie
 
Libraries as a Bridge: The Role of Libraries in Closing the Digital Skills ...
Libraries as a Bridge: The Role of Libraries in Closing the Digital Skills ...Libraries as a Bridge: The Role of Libraries in Closing the Digital Skills ...
Libraries as a Bridge: The Role of Libraries in Closing the Digital Skills ...Bobbi Newman
 
TV lecture: Technology
TV lecture: TechnologyTV lecture: Technology
TV lecture: TechnologyJulie Levin Russo
 
Copiade Vuelode Gansos
Copiade Vuelode GansosCopiade Vuelode Gansos
Copiade Vuelode Gansosjoanvinpa
 

Andere mochten auch (20)

Learn to Transform Yourself from an Expert to Thought Leader - Mitchell Levy
Learn to Transform Yourself from an Expert to Thought Leader - Mitchell LevyLearn to Transform Yourself from an Expert to Thought Leader - Mitchell Levy
Learn to Transform Yourself from an Expert to Thought Leader - Mitchell Levy
 
Leadership: The One and Only Path To Becoming a (great) Leader
Leadership: The One and Only Path To Becoming a (great) LeaderLeadership: The One and Only Path To Becoming a (great) Leader
Leadership: The One and Only Path To Becoming a (great) Leader
 
Thought Leadership--What is it and how do I become a leader?
Thought Leadership--What is it and how do I become a leader?Thought Leadership--What is it and how do I become a leader?
Thought Leadership--What is it and how do I become a leader?
 
Why You Need A Customer Persona: Stories need characters
Why You Need A Customer Persona: Stories need charactersWhy You Need A Customer Persona: Stories need characters
Why You Need A Customer Persona: Stories need characters
 
Marketing Funnel, Customer Journey & Persona Mapping by VirtualCMO Feb 2014
Marketing Funnel, Customer Journey & Persona Mapping by VirtualCMO Feb 2014Marketing Funnel, Customer Journey & Persona Mapping by VirtualCMO Feb 2014
Marketing Funnel, Customer Journey & Persona Mapping by VirtualCMO Feb 2014
 
Customer Journey Maps and Buyer Personas
Customer Journey Maps and Buyer PersonasCustomer Journey Maps and Buyer Personas
Customer Journey Maps and Buyer Personas
 
Customer Research & Persona Development
Customer Research & Persona DevelopmentCustomer Research & Persona Development
Customer Research & Persona Development
 
Comercio electrĂłnico en imĂĄgenes
Comercio electrĂłnico en imĂĄgenesComercio electrĂłnico en imĂĄgenes
Comercio electrĂłnico en imĂĄgenes
 
Transforming the Design Process
Transforming the Design ProcessTransforming the Design Process
Transforming the Design Process
 
Survey 2016 acimit-blumine
Survey 2016 acimit-blumineSurvey 2016 acimit-blumine
Survey 2016 acimit-blumine
 
PI Stats Show
PI Stats ShowPI Stats Show
PI Stats Show
 
Randy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural PrinciplesRandy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural Principles
 
Webcasting In The Efl Class 1
Webcasting In The Efl Class 1Webcasting In The Efl Class 1
Webcasting In The Efl Class 1
 
Eoi 2nd day
Eoi 2nd dayEoi 2nd day
Eoi 2nd day
 
Present Perfect: forms and uses
Present Perfect: forms and usesPresent Perfect: forms and uses
Present Perfect: forms and uses
 
You have it? Tips for successful business handoffs
You have it? Tips for successful business handoffsYou have it? Tips for successful business handoffs
You have it? Tips for successful business handoffs
 
Weird, Useful, Significant: Marketing as Worldbuilding
Weird, Useful, Significant: Marketing as WorldbuildingWeird, Useful, Significant: Marketing as Worldbuilding
Weird, Useful, Significant: Marketing as Worldbuilding
 
Libraries as a Bridge: The Role of Libraries in Closing the Digital Skills ...
Libraries as a Bridge: The Role of Libraries in Closing the Digital Skills ...Libraries as a Bridge: The Role of Libraries in Closing the Digital Skills ...
Libraries as a Bridge: The Role of Libraries in Closing the Digital Skills ...
 
TV lecture: Technology
TV lecture: TechnologyTV lecture: Technology
TV lecture: Technology
 
Copiade Vuelode Gansos
Copiade Vuelode GansosCopiade Vuelode Gansos
Copiade Vuelode Gansos
 

Ähnlich wie Bertrand Delsart Java R T S

Real-time Programming in Java
Real-time Programming in JavaReal-time Programming in Java
Real-time Programming in JavaAleĹĄ PlĹĄek
 
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Chirag Jog
 
Introduction to Real Time Java
Introduction to Real Time JavaIntroduction to Real Time Java
Introduction to Real Time JavaDeniz Oguz
 
The Diabolical Developers Guide to Performance Tuning
The Diabolical Developers Guide to Performance TuningThe Diabolical Developers Guide to Performance Tuning
The Diabolical Developers Guide to Performance TuningjClarity
 
IRJET- Performance Comparison of Real-Time Garbage Collection in the Sun ...
IRJET-  	  Performance Comparison of Real-Time Garbage Collection in the Sun ...IRJET-  	  Performance Comparison of Real-Time Garbage Collection in the Sun ...
IRJET- Performance Comparison of Real-Time Garbage Collection in the Sun ...IRJET Journal
 
High level programming of embedded hard real-time devices
High level programming of embedded hard real-time devicesHigh level programming of embedded hard real-time devices
High level programming of embedded hard real-time devicesMr. Chanuwan
 
BM Real-time Technologies for SUSE Linux Enterprise Real Time
BM Real-time Technologies for SUSE Linux Enterprise Real TimeBM Real-time Technologies for SUSE Linux Enterprise Real Time
BM Real-time Technologies for SUSE Linux Enterprise Real TimeNovell
 
Building IT with Precision - SUSE Linux Enterprise Real Time
Building IT with Precision - SUSE Linux Enterprise Real TimeBuilding IT with Precision - SUSE Linux Enterprise Real Time
Building IT with Precision - SUSE Linux Enterprise Real TimeJeff Reser
 
Instrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in productionInstrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in productionbcantrill
 
TMT SequenceL customer use cases and results
TMT SequenceL customer use cases and resultsTMT SequenceL customer use cases and results
TMT SequenceL customer use cases and resultsDoug Norton
 
Real Time Systems &amp; RTOS
Real Time Systems &amp; RTOSReal Time Systems &amp; RTOS
Real Time Systems &amp; RTOSVishwa Mohan
 
Beginners Guide to High Availability for Postgres
Beginners Guide to High Availability for PostgresBeginners Guide to High Availability for Postgres
Beginners Guide to High Availability for PostgresEDB
 
ANZTRUC - elmtree v2.2 (1)
ANZTRUC - elmtree v2.2 (1)ANZTRUC - elmtree v2.2 (1)
ANZTRUC - elmtree v2.2 (1)Mal Everett
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating SystemsPawandeep Kaur
 
Embedded Intro India05
Embedded Intro India05Embedded Intro India05
Embedded Intro India05Rajesh Gupta
 
RTDroid_Presentation
RTDroid_PresentationRTDroid_Presentation
RTDroid_PresentationAswin Bharadwaj
 

Ähnlich wie Bertrand Delsart Java R T S (20)

Real-time Programming in Java
Real-time Programming in JavaReal-time Programming in Java
Real-time Programming in Java
 
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how
 
VÌrktøjer udviklet pü AAU til analyse af SCJ programmer
VÌrktøjer udviklet pü AAU til analyse af SCJ programmerVÌrktøjer udviklet pü AAU til analyse af SCJ programmer
VÌrktøjer udviklet pü AAU til analyse af SCJ programmer
 
Introduction to Real Time Java
Introduction to Real Time JavaIntroduction to Real Time Java
Introduction to Real Time Java
 
Real Time Systems
Real Time SystemsReal Time Systems
Real Time Systems
 
RTOS
RTOSRTOS
RTOS
 
The Diabolical Developers Guide to Performance Tuning
The Diabolical Developers Guide to Performance TuningThe Diabolical Developers Guide to Performance Tuning
The Diabolical Developers Guide to Performance Tuning
 
IRJET- Performance Comparison of Real-Time Garbage Collection in the Sun ...
IRJET-  	  Performance Comparison of Real-Time Garbage Collection in the Sun ...IRJET-  	  Performance Comparison of Real-Time Garbage Collection in the Sun ...
IRJET- Performance Comparison of Real-Time Garbage Collection in the Sun ...
 
High level programming of embedded hard real-time devices
High level programming of embedded hard real-time devicesHigh level programming of embedded hard real-time devices
High level programming of embedded hard real-time devices
 
BM Real-time Technologies for SUSE Linux Enterprise Real Time
BM Real-time Technologies for SUSE Linux Enterprise Real TimeBM Real-time Technologies for SUSE Linux Enterprise Real Time
BM Real-time Technologies for SUSE Linux Enterprise Real Time
 
Building IT with Precision - SUSE Linux Enterprise Real Time
Building IT with Precision - SUSE Linux Enterprise Real TimeBuilding IT with Precision - SUSE Linux Enterprise Real Time
Building IT with Precision - SUSE Linux Enterprise Real Time
 
Instrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in productionInstrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in production
 
TMT SequenceL customer use cases and results
TMT SequenceL customer use cases and resultsTMT SequenceL customer use cases and results
TMT SequenceL customer use cases and results
 
Real Time Systems &amp; RTOS
Real Time Systems &amp; RTOSReal Time Systems &amp; RTOS
Real Time Systems &amp; RTOS
 
Beginners Guide to High Availability for Postgres
Beginners Guide to High Availability for PostgresBeginners Guide to High Availability for Postgres
Beginners Guide to High Availability for Postgres
 
ANZTRUC - elmtree v2.2 (1)
ANZTRUC - elmtree v2.2 (1)ANZTRUC - elmtree v2.2 (1)
ANZTRUC - elmtree v2.2 (1)
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
 
Real timedata
Real timedataReal timedata
Real timedata
 
Embedded Intro India05
Embedded Intro India05Embedded Intro India05
Embedded Intro India05
 
RTDroid_Presentation
RTDroid_PresentationRTDroid_Presentation
RTDroid_Presentation
 

Mehr von deimos

Aspect Orientated Programming in Ruby
Aspect Orientated Programming in RubyAspect Orientated Programming in Ruby
Aspect Orientated Programming in Rubydeimos
 
Remy Sharp The DOM scripting toolkit jQuery
Remy Sharp The DOM scripting toolkit jQueryRemy Sharp The DOM scripting toolkit jQuery
Remy Sharp The DOM scripting toolkit jQuerydeimos
 
Ola Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The JvmOla Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The Jvmdeimos
 
Joe Walker Interactivewebsites Cometand Dwr
Joe Walker Interactivewebsites Cometand DwrJoe Walker Interactivewebsites Cometand Dwr
Joe Walker Interactivewebsites Cometand Dwrdeimos
 
Aslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec BddAslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec Bdddeimos
 
Venkat Subramaniam Building DSLs In Groovy
Venkat Subramaniam Building DSLs In GroovyVenkat Subramaniam Building DSLs In Groovy
Venkat Subramaniam Building DSLs In Groovydeimos
 
Venkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic LanguagesVenkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic Languagesdeimos
 
Udi Dahan Intentions And Interfaces
Udi Dahan Intentions And InterfacesUdi Dahan Intentions And Interfaces
Udi Dahan Intentions And Interfacesdeimos
 
Tim Mackinnon Agile And Beyond
Tim Mackinnon Agile And BeyondTim Mackinnon Agile And Beyond
Tim Mackinnon Agile And Beyonddeimos
 
Steve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And SerendipitySteve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And Serendipitydeimos
 
Stefan Tilkov Soa Rest And The Web
Stefan Tilkov Soa Rest And The WebStefan Tilkov Soa Rest And The Web
Stefan Tilkov Soa Rest And The Webdeimos
 
Stefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To RestStefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To Restdeimos
 
Rod Johnson Cathedral
Rod Johnson CathedralRod Johnson Cathedral
Rod Johnson Cathedraldeimos
 
Mike Stolz Dramatic Scalability
Mike Stolz Dramatic ScalabilityMike Stolz Dramatic Scalability
Mike Stolz Dramatic Scalabilitydeimos
 
Matt Youill Betfair
Matt Youill BetfairMatt Youill Betfair
Matt Youill Betfairdeimos
 
Pete Goodliffe A Tale Of Two Systems
Pete Goodliffe A Tale Of Two SystemsPete Goodliffe A Tale Of Two Systems
Pete Goodliffe A Tale Of Two Systemsdeimos
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registrydeimos
 
Ola Bini Evolving The Java Platform
Ola Bini Evolving The Java PlatformOla Bini Evolving The Java Platform
Ola Bini Evolving The Java Platformdeimos
 
Neal Gafter Java Evolution
Neal Gafter Java EvolutionNeal Gafter Java Evolution
Neal Gafter Java Evolutiondeimos
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLsdeimos
 

Mehr von deimos (20)

Aspect Orientated Programming in Ruby
Aspect Orientated Programming in RubyAspect Orientated Programming in Ruby
Aspect Orientated Programming in Ruby
 
Remy Sharp The DOM scripting toolkit jQuery
Remy Sharp The DOM scripting toolkit jQueryRemy Sharp The DOM scripting toolkit jQuery
Remy Sharp The DOM scripting toolkit jQuery
 
Ola Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The JvmOla Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The Jvm
 
Joe Walker Interactivewebsites Cometand Dwr
Joe Walker Interactivewebsites Cometand DwrJoe Walker Interactivewebsites Cometand Dwr
Joe Walker Interactivewebsites Cometand Dwr
 
Aslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec BddAslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec Bdd
 
Venkat Subramaniam Building DSLs In Groovy
Venkat Subramaniam Building DSLs In GroovyVenkat Subramaniam Building DSLs In Groovy
Venkat Subramaniam Building DSLs In Groovy
 
Venkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic LanguagesVenkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic Languages
 
Udi Dahan Intentions And Interfaces
Udi Dahan Intentions And InterfacesUdi Dahan Intentions And Interfaces
Udi Dahan Intentions And Interfaces
 
Tim Mackinnon Agile And Beyond
Tim Mackinnon Agile And BeyondTim Mackinnon Agile And Beyond
Tim Mackinnon Agile And Beyond
 
Steve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And SerendipitySteve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And Serendipity
 
Stefan Tilkov Soa Rest And The Web
Stefan Tilkov Soa Rest And The WebStefan Tilkov Soa Rest And The Web
Stefan Tilkov Soa Rest And The Web
 
Stefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To RestStefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To Rest
 
Rod Johnson Cathedral
Rod Johnson CathedralRod Johnson Cathedral
Rod Johnson Cathedral
 
Mike Stolz Dramatic Scalability
Mike Stolz Dramatic ScalabilityMike Stolz Dramatic Scalability
Mike Stolz Dramatic Scalability
 
Matt Youill Betfair
Matt Youill BetfairMatt Youill Betfair
Matt Youill Betfair
 
Pete Goodliffe A Tale Of Two Systems
Pete Goodliffe A Tale Of Two SystemsPete Goodliffe A Tale Of Two Systems
Pete Goodliffe A Tale Of Two Systems
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registry
 
Ola Bini Evolving The Java Platform
Ola Bini Evolving The Java PlatformOla Bini Evolving The Java Platform
Ola Bini Evolving The Java Platform
 
Neal Gafter Java Evolution
Neal Gafter Java EvolutionNeal Gafter Java Evolution
Neal Gafter Java Evolution
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLs
 

KĂźrzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂşjo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

KĂźrzlich hochgeladen (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Bertrand Delsart Java R T S

  • 1. Real-Time Java for Latency Critical Banking Applications Bertrand Delsart Real-Time JavaRTS Technical Leader System Author of Sun's RTGC technology
  • 2. Agenda • Background • Benefits of a Real-Time Java Virtual Machine • Benefits of Real-Time Garbage Collectors • Q&A QCon 2008 - Bertrand.Delsart@Sun.COM 2
  • 3. Agenda • Background • Benefits of a Real-Time Java Virtual Machine • Benefits of Real-Time Garbage Collectors • Q&A QCon 2008 - Bertrand.Delsart@Sun.COM 3
  • 4. Background Banking Trend • Avoiding latencies (unexpected delays) has always been important Steve Rubinow (NYSE Group CTO): “ If you've got some trades going through at 10 milliseconds and some at 1 millisecond, that's a problem. Our customers don't like variance” QCon 2008 - Bertrand.Delsart@Sun.COM 4
  • 5. Background Banking Trend • Physical co-location is removing the external sources of jitter (variation of execution time) • Application jitter is now much more visible Dave Cummings (BATS CEO) “Five years ago we were talking seconds, now we're into the milliseconds. Five years from now we'll probably be measuring latency in microseconds” Alistair Brown (LIME Brokerage CEO) “ Shortly, we'll be talking micro- versus milliseconds, and at that point speed will probably have less and less relevance” QCon 2008 - Bertrand.Delsart@Sun.COM 5
  • 6. Background Categories of Application Predictability Non • No time-based deadlines real-time > Standard programming logic > Example: UI, web services, algorithmic calculations • Deadlines may be missed occasionally Soft under well-defined conditions real-time > Mainstream real-time needs > Example: Automated trading system, 3G telco router • Deadlines cannot be missed Hard > Typically highest priority on system real-time > Example: Robotic motion control and management, Data feed processing QCon 2008 - Bertrand.Delsart@Sun.COM 6
  • 7. Background Traditional Design Choices to Improve Predictability Use mainstream Use customized lower- programming tools and OR level tools and proprietary standard platforms platforms > Everything is equally > Predictable solution, but... important; so try go faster to > Expensive – dedicated get everything done tools, training, headcount; > Guessing game: no longer development cycles, guarantee that deadlines will complicated maintenance be met – just postponed > Challenging integration of > Low infrastructure utilization real-time elements with the > Lack of predictable solution standard applications QCon 2008 - Bertrand.Delsart@Sun.COM 7
  • 8. Background Traditional Real-Time Design Choices: Examples • Example 1: Global engineering conglomerate needs PLC control elements with hard real-time capabilities for industrial automation PC-oriented SBC boards cost Custom boards from a specialized ~20% of custom boards but have no integrated real-time OR provider are very costly and require more for software/tools solution • Example 2: Leading financial services institution needs to scale its market-facing system while meeting Service Level Agreements Standard Java applications offer Legacy system able to meet flexibility and scalability but GC current SLAs but no longer viable pauses threaten SLAs OR with regard to maintainability and scalability QCon 2008 - Bertrand.Delsart@Sun.COM 8
  • 9. Background Real-Time Design Choices Use mainstream Use customized lower- programming tools and OR level tools and standard platforms proprietary platforms How about an open standards-based platform that formally >deals solution, but... > Everything is equally Predictable with real-time challenges? important; try go faster to > Expensive – dedicated get everything done tools, training, headcount, > Guessing game – no longer development cycles, guarantee that deadlines will effort-intensive maintenance be met > Challenging integration of > Low infrastructure utilization real-time elements with the > Lack of predictable solution standard applications QCon 2008 - Bertrand.Delsart@Sun.COM 9
  • 10. Background Real-Time Specification for Java (RTSJ) 1998 2002 2005 2007 2008 Real-Time JSR-001 RTSJ update Specification for approved by the proposal RTGC added to Java (JSR-001) Java Community submitted Sun Java RTS proposal Process (JSR-282) submitted Others companies Joint Sun/IBM - Apogee New Sun/IBM JSR implementing Many others: TimeSys Aphelion RTSJ (not yet Ajile, Apogee, Reference - Sun Java certified) Motorola, Nortel, Implementation Real-Time QNX, Thales, System TimeSys, - IBM's WindRiver webSphere RealTime QCon 2008 - Bertrand.Delsart@Sun.COM 10
  • 11. Agenda • Background • Benefits of a Real-Time Java Virtual Machine • Benefits of Real-Time Garbage Collectors • Q&A QCon 2008 - Bertrand.Delsart@Sun.COM 11
  • 12. RTSJ Use case 1: Send Market Data at a Fixed Rate Neither too late... nor too often ! • Mainstream Java solution: while (true) do { compute_data(); now = System.currentTimeMillis() Thread.sleep(next_period – now); send_data(); next_period += period; } • Problem: > Not guaranteed to wake-up quickly after the sleep call ! QCon 2008 - Bertrand.Delsart@Sun.COM 12
  • 13. RTSJ RTSJ Benefit 1 : Priority Semantic You must specify the relative importance of the tasks, including with respect to the other processes. Mainstream “setPriority(10);” is not sufficient ! • RTSJ offers in Java usual real-time scheduling semantics > RealtimeThreads preempt non real-time ones > Higher priority threads preempt lower priority ones > Locks are properly handled (a low priority thread owning a critical resource will be boosted by the thread that requires it) QCon 2008 - Bertrand.Delsart@Sun.COM 13
  • 14. RTSJ Use case 1 revisited • Code executed by a RealtimeThread setPriority(my_RTPriority); while (true) do { compute_data(); now = System.currentTimeMillis() Thread.sleep(next_period – now); send_data(); next_period += period; } • Problem: > What if a more important RT threads preempts me just before calling sleep ? QCon 2008 - Bertrand.Delsart@Sun.COM 14
  • 15. RTSJ RTSJ Benefit 2: Rich Real-Time APIs • RTSJ provides what you will find in most RT Operating Systems > Absolute Time Clock, Timers, Non Blocking Queues... • RTSJ provides an additional layer to make your life simpler > Periodic Threads, Asynchronous Event Handlers, RawMemoryAccess, Deadline Miss Monitoring and Management, Asynchronous Transfer of Control... • RTSJ optionally defines advanced APIs > Cost Overflow Monitoring and Management, Feasibility Analysis... QCon 2008 - Bertrand.Delsart@Sun.COM 15
  • 16. RTSJ Use case 1, RTSJ version • Code executed by a RealtimeThread setPriority(my_RTPriority); setReleaseParameters(myPeriodParam); while (true) do { compute_data(); RealtimeThread.waitForNextPeriod(); send_data(); } (other variants with Timers, AbsoluteTime wait, ...) • Problem: > Is this sufficient ? QCon 2008 - Bertrand.Delsart@Sun.COM 16
  • 17. RTSJ Yes... if optimized for Determinism • The fastest Garbage Collectors suspend all the threads while they recycle memory • The fastest JIT compilers make some assumptions to generate more efficient code and must 'deoptimize' threads if the assumption becomes invalid • Solution 1: > RTSJ defines additional threads optimized for determinism and isolated for GC jitter. > They are as deterministic as C/C++ code ! QCon 2008 - Bertrand.Delsart@Sun.COM 17
  • 18. RTSJ NoHeapRealtimeThreads • Code executed by a NoHeapRealtimeThread setPriority(my_RTPriority); setReleaseParameters(myPeriodParam); while (true) do { compute_data(); RealtimeThread.waitForNextPeriod(); send_data(); } • Problem: > What about memory allocation since 'isolated' from the GC ? QCon 2008 - Bertrand.Delsart@Sun.COM 18
  • 19. RTSJ Memory areas for NHRTs Don't bother if 200 microseconds latencies are OK !!! • ImmortalMemory for non recycled objects • ScopedMemory for recycling > Memory areas not subject to the Garbage Collector > Per area counters to know how many threads are using an area > Objects automatically deleted when the count of their area is 0 > Dynamic read/write checks to guarantee the safety of this recycling QCon 2008 - Bertrand.Delsart@Sun.COM 19
  • 20. RTSJ Use case 1, ScopedMemory version • Code executed by a NoHeapRealtimeThread while (true) do { scopedMemory1.enter(runnable); // sm1 recycled for the next loop } void run() { compute_data(); waitForNextPeriod(); send_data(); } • Problem: > Is send_data() endorsing read/write constraints ? QCon 2008 - Bertrand.Delsart@Sun.COM 20
  • 21. Agenda • Background • Benefits of a Real-Time Java Virtual Machine • Benefits of Real-Time Garbage Collectors • Q&A QCon 2008 - Bertrand.Delsart@Sun.COM 21
  • 22. RTGCs in General Making Java Predictable, RTGC • Real-Time GC > Essentially a “garbage collector with knobs” > Large interrupts are avoided at the cost of small, regular, and predictable collections > The GC runs often enough to recycle memory on time, depending on allocation and collection rates • Several models/approaches exist > IBM, Aicas, Sun, ... • Way simpler from a coding point of view > Single heap > No read/write checks QCon 2008 - Bertrand.Delsart@Sun.COM 22
  • 23. RTSJ + RTGCs Overall System Model Real-time code and existing, non real-time, Real-Time JVM code can communicate, share memory, state, and overall environment – Non • Standard Java Heap something not possible in current real-time > Regular Java threads solutions real-time • Standard Java Heap or Soft Scoped or Immortal memory real-time > Real-Time threads > Real-Time Garbage Collector • Scoped/Immortal/Heap Hard > NoHeapReal-Time threads real-time > Real-Time threads > Hard Real-Time Garbage Collector QCon 2008 - Bertrand.Delsart@Sun.COM 23
  • 24. Java RTS Sun's RTGC Apply concept of policy to Henriksson's approach • Goal: Hard RT latencies for high priority GC'd threads • Solution: implement GC as real-time threads > Running at a priority lower than the hard RT threads > And possibly concurrently with the other threads • Advantages > Scalable (no issues with multi-processor support) > Flexible QCon 2008 - Bertrand.Delsart@Sun.COM 24
  • 25. Java RTS Default RTGC Scheduling Policy Could run concurrently Priority on another CPU NHRTs Critical RT threads Boosted GC Work at GC Max prio Soft RT threads Run-to-block GC Start GC Work at low priority Time Thread doing work Thread pause – priority interruption Boosting (Remaining Memory Too Low) GC active/running QCon 2008 - Bertrand.Delsart@Sun.COM 25
  • 26. Java RTS Use case 1 revisited • Code executed by a hard RealtimeThread while (true) do { waitForNextPeriod(); send_data(); } • Code executed by a soft RealtimeThread while (true) do { compute_data(); waitForNextPeriod(); } • softRT.setDeadlineMissHandler(dmh) QCon 2008 - Bertrand.Delsart@Sun.COM 26
  • 27. Java RTS Use case 1 Deadline Miss Handler • Hard Real-Time AsynchronousEventHandler void handleAsyncEvent() { quickly_compute_simpler_data(); softRTThread.schedulePeriodic(); } or void handleAsyncEvent() { softRTTThread.setPriority(hardPrio); softRTThread.schedulePeriodic(); } QCon 2008 - Bertrand.Delsart@Sun.COM 27
  • 28. Java RTS Use Case 2 : Events Driven Request with Deadlines • A request is valid: > For a limited time > When a set of asynchronous input feeds dependent conditions are true • Proposed design: > Use a high priority critical thread for the request > If necessary, rely on priority boosting to safely use locks to check the <condition,deadline> pair(s) > Use AsynchronousEventHandlers to process the input feeds > Potentially at different priorities (hard and/or soft) > Use Minimum Inter-arrival Time policies to handle overflows QCon 2008 - Bertrand.Delsart@Sun.COM 28
  • 29. Java RTS Use Case 3 : NASDAQ “Reduce I/O Jitter and Context Switches” • I/O must not hold other requests • Implemented Solution: > One thread per-CPU > One front-end to receive requests and executed non I/O ones > I/O requests dispatched to another thread > I/O completion can be seen as a new request by the front-end • Benefits from Java RTS deterministic compilation and memory management but : > What if I/O requests can be processed at different rates ? > Could I handle more non I/O requests ? QCon 2008 - Bertrand.Delsart@Sun.COM 29
  • 30. Java RTS Use Case 3 : Why Care about Context Switches ? This should not be your role ! • Risk : under-utilization of resources • Scalable Design: > Chosen number of high priority time-critical front-end threads > Could even be at different priorities depending on the input stream > AsynchronousEventHandler to process I/Os at a lower priority > New I/O processing threads will automatically be created by the VM server thread pool to maximize the number of parallel requests > Requests started later can complete earlier > The server thread automatically grabs a new one... without context switch QCon 2008 - Bertrand.Delsart@Sun.COM 30
  • 31. Java RTS Sun Java RTS Unique Selling Proposition Sun's Java Real-Time System – absolute execution predictability with all the benefits of the Java platform • Truly predictable, sample latency numbers: > RTGC: 200 microseconds Standard Java RTS > NHRT: 20 microseconds Java SE libraries libraries Sun Java RTS VM • Open > Based on open, SOLARIS 10 RTLinux community-driven SPARC x86 standards QCon 2008 - Bertrand.Delsart@Sun.COM 31
  • 32. Java RTS Customer Evaluations • Over 500 companies and universities from more than 60 countries have evaluated Sun Java Real-Time System • Some data points from them: Maximum Latency Required Evaluations by Industry < 10 micros Financial serv- 10-100 mi- ices cros Telecom 100-1000 Military/ Aer- micros ospace 1-10 millis Automotive 10-100 millis Other industry Educational use Maximum latency Source: Evaluation download survey for Sun Java RTS QCon 2008 - Bertrand.Delsart@Sun.COM 32
  • 33. Product Overview Key Benefits of RTSJ TECHNICAL BUSINESS • Maximize system utilization • Eliminate latency outliers • Cross-platform portability > Save millions of $ lost due to missed market opportunities, • Leverage standard OS's productivity losses etc. • Real-time tools • Eliminate risks inherent in custom and proprietary solutions • Leverage investment in existing Java code, skills • Increase developer productivity using Java QCon 2008 - Bertrand.Delsart@Sun.COM 33
  • 34. Product Overview Key Benefits of RTSJ + RTGC TECHNICAL BUSINESS • Maximize system utilization • Eliminate latency outliers • Cross-platform portability > Save millions of $ lost due to missed market opportunities, • Leverage standard OS's productivity losses etc. • Real-time tools • Eliminate risks inherent in custom and proprietary • Minimize solution complexity solutions • Better design / architecture • Leverage investment choices in existing Java code, skills • Increase developer productivity using Java QCon 2008 - Bertrand.Delsart@Sun.COM 34
  • 35. Product Overview Key Benefits of Sun Java RTS TECHNICAL BUSINESS • Maximize system utilization • Eliminate latency outliers even more (hard + soft RT) > Save millions of $ lost due to missed market opportunities, • Cross-platform portability productivity losses etc. • Leverage standard OS's • Eliminate risks inherent in • Real-time tools (DTrace) custom and proprietary solutions • Minimize solution complexity • Leverage investment • Better design / architecture in existing Java code, skills choices • Increase developer • Easy integration of hard, soft, productivity using Java and non time-critical design elements QCon 2008 - Bertrand.Delsart@Sun.COM 35