SlideShare uma empresa Scribd logo
1 de 102
Baixar para ler offline
Concurrent Programming Using The
               Disruptor
                       Trisha Gee
                          LMAX




Wednesday, 23 May 12
Concurrent Programming
                         Using The Disruptor
                           Trisha Gee, Developer at LMAX
                                      @trisha_gee
                                  mechanitis.blogspot.com




Wednesday, 23 May 12
The Disruptor?




Wednesday, 23 May 12
What I’m covering

                   • Overview of the Disruptor
                   • Create your own!
                   • Turn it up to Eleven
                   • Q&A

Wednesday, 23 May 12
What is it?

                 • Data structure and work flow with no
                       contention.
                 • Very fast message passing.
                 • Allows you to go truly parallel.


Wednesday, 23 May 12
So...?



Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
Creating a RingBuffer

            final RingBuffer<SimpleEvent> ringBuffer =
                new RingBuffer<SimpleEvent>(SimpleEvent.EVENT_FACTORY,
                                            RING_BUFFER_SIZE);




Wednesday, 23 May 12
The Events are Buckets




Wednesday, 23 May 12
Great! I want one!
 public class SimpleEvent {
     public static final EventFactory<SimpleEvent> EVENT_FACTORY =
         new SimpleEventFactory();

        private volatile String value;


        private static class SimpleEventFactory implements EventFactory<SimpleEvent> {
            @Override
            public SimpleEvent newInstance() {
                return new SimpleEvent();
            }
        }
 }




Wednesday, 23 May 12
I’ve got a RingBuffer!


                   • Erm.... how do I poke things into it?



Wednesday, 23 May 12
The Publisher




Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
What do I do?
  public class SimpleEventTranslator implements
      EventTranslator<SimpleEvent>




SimpleEventTranslator translator = new SimpleEventTranslator();

EventPublisher<SimpleEvent> publisher =
    new EventPublisher<SimpleEvent>(ringBuffer);

// poke your translator here
// ...and when you’re done...
publisher.publishEvent(translator);


Wednesday, 23 May 12
...so now I want to read


                   • The Disruptor provides nice batching
                       behaviour for free




Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
...and all you need is...

 public class SimpleEventHandler implements EventHandler<SimpleEvent>
 {

          @Override
          public void onEvent(final SimpleEvent event,
                              final long sequence,
                              final boolean endOfBatch) throws Exception {
              // do stuff
          }
 }




Wednesday, 23 May 12
Shiny. So what?



Wednesday, 23 May 12
Let’s go parallel




Wednesday, 23 May 12
And now for something
                     different...


Wednesday, 23 May 12
Remember Henry
                           Ford?




Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Complex workflow...




Wednesday, 23 May 12
What on Earth has this
                    got to do with
                     RingBuffers?!


Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Don’t wrap the buffer!

       ringBuffer.setGatingSequences(finalEventProcessor.getSequence());




Wednesday, 23 May 12
Caveats



Wednesday, 23 May 12
Is that it?
                   • Wait and claim strategies
                   • Batch publishing
                   • Multiple publishers
                   • Different EventHandlers
                   • The Wizard
                   • You don’t even need a RingBuffer...
Wednesday, 23 May 12
You get...
                   • A framework the encourages you to model
                       your domain
                   • The ability to run in parallel but single-
                       threaded
                   • Reliable ordering
                   • ...and it can be very fast

Wednesday, 23 May 12
More Information

                   • Google Code Site, including Wiki
                       http://code.google.com/p/disruptor/
                   • Blogs, e.g. mine: mechanitis.blogspot.com
                   • Presentations
                   • Google Group

Wednesday, 23 May 12
Q&A



Wednesday, 23 May 12
WorkerPool




Wednesday, 23 May 12
AggregateEventHandler




Wednesday, 23 May 12
WaitStrategies

                   • BlockingWaitStrategy
                   • BusySpinWaitStrategy
                   • SleepingWaitStrategy
                   • YieldingWaitStrategy

Wednesday, 23 May 12
ClaimStrategies

                   • SingleThreadedClaimStrategy
                   • MultiThreadedClaimStrategy
                   • MultiThreadedLowContentionClaimStrategy


Wednesday, 23 May 12

Mais conteúdo relacionado

Semelhante a Concurrent Programming Using The Disruptor - Copenhagen

Usability Testing Plans
Usability Testing PlansUsability Testing Plans
Usability Testing PlansKrista Kennedy
 
Pivoting An African Open Source Project
Pivoting An African Open Source ProjectPivoting An African Open Source Project
Pivoting An African Open Source ProjectUshahidi
 
Mutants vs Designers
Mutants vs DesignersMutants vs Designers
Mutants vs Designersixdaseattle
 
Mobile has changed everything
Mobile has changed everythingMobile has changed everything
Mobile has changed everythingShawn Smith
 
Strategy for a successful WordPress project
Strategy for a successful WordPress projectStrategy for a successful WordPress project
Strategy for a successful WordPress projectWes Chyrchel
 
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...Ernie Hsiung
 
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)Kevin Conboy
 
Tucuman valley Desarrollo Mobile, nativo o HTML5?
Tucuman valley Desarrollo Mobile, nativo o HTML5?Tucuman valley Desarrollo Mobile, nativo o HTML5?
Tucuman valley Desarrollo Mobile, nativo o HTML5?Maximiliano Firtman
 

Semelhante a Concurrent Programming Using The Disruptor - Copenhagen (10)

Usability Testing Plans
Usability Testing PlansUsability Testing Plans
Usability Testing Plans
 
Pivoting An African Open Source Project
Pivoting An African Open Source ProjectPivoting An African Open Source Project
Pivoting An African Open Source Project
 
Mutants vs Designers
Mutants vs DesignersMutants vs Designers
Mutants vs Designers
 
Mobile has changed everything
Mobile has changed everythingMobile has changed everything
Mobile has changed everything
 
WCSD-UI
WCSD-UIWCSD-UI
WCSD-UI
 
Strategy for a successful WordPress project
Strategy for a successful WordPress projectStrategy for a successful WordPress project
Strategy for a successful WordPress project
 
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
 
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
 
Start upandagile final
Start upandagile finalStart upandagile final
Start upandagile final
 
Tucuman valley Desarrollo Mobile, nativo o HTML5?
Tucuman valley Desarrollo Mobile, nativo o HTML5?Tucuman valley Desarrollo Mobile, nativo o HTML5?
Tucuman valley Desarrollo Mobile, nativo o HTML5?
 

Mais de Trisha Gee

Career Advice for Architects
Career Advice for Architects Career Advice for Architects
Career Advice for Architects Trisha Gee
 
Is boilerplate code really so bad?
Is boilerplate code really so bad?Is boilerplate code really so bad?
Is boilerplate code really so bad?Trisha Gee
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best PracticesTrisha Gee
 
Career Advice for Programmers - ProgNET London
Career Advice for Programmers - ProgNET LondonCareer Advice for Programmers - ProgNET London
Career Advice for Programmers - ProgNET LondonTrisha Gee
 
Is Boilerplate Code Really So Bad?
Is Boilerplate Code Really So Bad?Is Boilerplate Code Really So Bad?
Is Boilerplate Code Really So Bad?Trisha Gee
 
Real World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains WebinarReal World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains WebinarTrisha Gee
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9Trisha Gee
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9Trisha Gee
 
Career Advice for Programmers
Career Advice for Programmers Career Advice for Programmers
Career Advice for Programmers Trisha Gee
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9Trisha Gee
 
Becoming fully buzzword compliant
Becoming fully buzzword compliantBecoming fully buzzword compliant
Becoming fully buzzword compliantTrisha Gee
 
Java 9 Functionality and Tooling
Java 9 Functionality and ToolingJava 9 Functionality and Tooling
Java 9 Functionality and ToolingTrisha Gee
 
Java 8 and 9 in Anger
Java 8 and 9 in AngerJava 8 and 9 in Anger
Java 8 and 9 in AngerTrisha Gee
 
Refactoring to Java 8 (Devoxx BE)
Refactoring to Java 8 (Devoxx BE)Refactoring to Java 8 (Devoxx BE)
Refactoring to Java 8 (Devoxx BE)Trisha Gee
 
Migrating to IntelliJ IDEA from Eclipse
Migrating to IntelliJ IDEA from EclipseMigrating to IntelliJ IDEA from Eclipse
Migrating to IntelliJ IDEA from EclipseTrisha Gee
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and MannersTrisha Gee
 
Refactoring to Java 8 (QCon New York)
Refactoring to Java 8 (QCon New York)Refactoring to Java 8 (QCon New York)
Refactoring to Java 8 (QCon New York)Trisha Gee
 
Refactoring to Java 8 (Devoxx UK)
Refactoring to Java 8 (Devoxx UK)Refactoring to Java 8 (Devoxx UK)
Refactoring to Java 8 (Devoxx UK)Trisha Gee
 
Staying Ahead of the Curve
Staying Ahead of the CurveStaying Ahead of the Curve
Staying Ahead of the CurveTrisha Gee
 
Level Up Your Automated Tests
Level Up Your Automated TestsLevel Up Your Automated Tests
Level Up Your Automated TestsTrisha Gee
 

Mais de Trisha Gee (20)

Career Advice for Architects
Career Advice for Architects Career Advice for Architects
Career Advice for Architects
 
Is boilerplate code really so bad?
Is boilerplate code really so bad?Is boilerplate code really so bad?
Is boilerplate code really so bad?
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best Practices
 
Career Advice for Programmers - ProgNET London
Career Advice for Programmers - ProgNET LondonCareer Advice for Programmers - ProgNET London
Career Advice for Programmers - ProgNET London
 
Is Boilerplate Code Really So Bad?
Is Boilerplate Code Really So Bad?Is Boilerplate Code Really So Bad?
Is Boilerplate Code Really So Bad?
 
Real World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains WebinarReal World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains Webinar
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9
 
Career Advice for Programmers
Career Advice for Programmers Career Advice for Programmers
Career Advice for Programmers
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9
 
Becoming fully buzzword compliant
Becoming fully buzzword compliantBecoming fully buzzword compliant
Becoming fully buzzword compliant
 
Java 9 Functionality and Tooling
Java 9 Functionality and ToolingJava 9 Functionality and Tooling
Java 9 Functionality and Tooling
 
Java 8 and 9 in Anger
Java 8 and 9 in AngerJava 8 and 9 in Anger
Java 8 and 9 in Anger
 
Refactoring to Java 8 (Devoxx BE)
Refactoring to Java 8 (Devoxx BE)Refactoring to Java 8 (Devoxx BE)
Refactoring to Java 8 (Devoxx BE)
 
Migrating to IntelliJ IDEA from Eclipse
Migrating to IntelliJ IDEA from EclipseMigrating to IntelliJ IDEA from Eclipse
Migrating to IntelliJ IDEA from Eclipse
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and Manners
 
Refactoring to Java 8 (QCon New York)
Refactoring to Java 8 (QCon New York)Refactoring to Java 8 (QCon New York)
Refactoring to Java 8 (QCon New York)
 
Refactoring to Java 8 (Devoxx UK)
Refactoring to Java 8 (Devoxx UK)Refactoring to Java 8 (Devoxx UK)
Refactoring to Java 8 (Devoxx UK)
 
Staying Ahead of the Curve
Staying Ahead of the CurveStaying Ahead of the Curve
Staying Ahead of the Curve
 
Level Up Your Automated Tests
Level Up Your Automated TestsLevel Up Your Automated Tests
Level Up Your Automated Tests
 

Último

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 

Concurrent Programming Using The Disruptor - Copenhagen