Change Location × Raleigh

    Recent Locations

      Modern patterns of parallel and distributed systems in .NET in Raleigh


      • Modern patterns of parallel and distributed systems in .NET Photo #1
      1 of 1
      December 5, 2019

      Thursday   9:00 AM

      3100 Smoketree Court , Suite 200
      Raleigh, North Carolina

      Map
      Performers:
      • No Performers Listed
      EVENT DETAILS
      Modern patterns of parallel and distributed systems in .NET

      We are beginning a new era of geographically-distributed, highly-available systems with processor designs that are scaling out in core counts quicker than they are scaling up in core speeds. In order to keep up with performance expectations as complexities and datasets grow, developers must meet the challenge by scaling out software architectures over modern computing resources. In this course, you will become the master of the multicore and distributed systems domain. Learn how to harness the power of parallel computation and multicore computation to dominate peer applications in finance software, video games, web applications and market analysis. Successful programmers know how to partition computations over large distributed datasets in order to leverage modern hardware and computing environments. This course will introduce you to the tools to achieve high-performance, reliable and maintainable code through functional-style parallelism and concurrency. In order to yield the most performance, computer programmers must consider how to partition and divide computations to maximize the performance while taking full advantage of multicore processors. You will gain an insight into the best practices necessary to build concurrent and scalable programs in .NET and .NET Core using the functional paradigm and OnPrem and Cloud-based applications. Class overview : This course is designed to introduce you to technology and tools available to developers at every level who are interested in achieving exceptional performance in applications. You will leave with the skills and know-how needed to optimize and maximize application performance, effectively use multi-core computation, and maximize the computational resources utilization. This course is designed for a full immersion into the fascinating world of parallel programming and distributed systems. Duration: 8-hours Skill Level: Intermediate What you will learn : This class teaches how to put into practice various functional concurrent programming techniques to achieve a highly performant and scalable solution, in either a local or distributed environment. Furthermore, this class provides a series of “go-to” references for questions and answers about concurrency and distributed systems. These recipes aim to solve both common and complex problems you may encounter in concurrent applications. The following objectives will be satisfied in the duration of the course: Functional concurrent programming concepts, and the skills needed in order to understand the functional aspects of writing multithreaded programs. Leverage multicore computation, increasing the capacity and speed of programs Programming techniques and best practices for concurrent programming How to overcome the concurrent pitfalls writing complex parallel application effortlessly Choose and leverage the best concurrent patterns in any scenario How to write deterministic concurrent code using immutability Implementing concurrent patterns such as divide-and-conquer, fork/join, producer-consumer, Map-Reduce, pipeline and more (Data & Task Parallelism) Building high-performance concurrent systems that self-adapt the degree of parallelism based on the current resources available Techniques and principles to build a concurrent pipeline Asynchronous programming model to implement unbounded parallel computations. Integrating concurrent programming abstractions to compose parallel computations and to handle concurrent errors Asynchronous Functional Combinators to express complex flow in a declarative and composable style Maximize the performance with the Task Parallel Library controlling side effects Analyze the garbage collector as the bottleneck and improve performance with memory consumption optimization Performance Tips & Tricks to high performant and multithreaded applications. The share-nothing approach for lock-free concurrent programming Handling and composing high-volume real-time event stream processing Dive into reactive programming using the asynchronous message passing programming model  Natural isolation as complemental technique with immutability for building concurrent programs Design and compose sophisticated workflow using the TPL DataFlow blocks Implementing a concurrent Reactive Scalable Client-Server Apply Reactive Programming everywhere with Agents and Actors How to develop applications that scale up & out using the same programming model (Agents and/or Actors) Designing and implementing a clustered, high-availability architecture that is elastic, scales in or out, on demand Building highly available, self-healing distributed systems and scalable systems using the message passing model How to write scalable and robust server-side asynchronous code Designing and implementing highly-scalable, reactive and fault-tolerant distributed systems Audience : Any developer who wants to improve their skills and employ polyglot techniques to solve concurrent problems Are you a software engineer, developer or solution architect who wants to break the bonds of sequential programming and leverage the power of multi-core computers? Or are you know OO technologies but are interested in learning about 'Functional Programming'? Are you interested in combining different program paradigms and concurrent libraries to dramatically reduce bugs? Then this course is for you! Prerequisites : 2-3 years of professional experience and a basic knowledge of a .NET programming language, recommended either C# or F#. No experience in functional programming and/or .NET Core is necessary. Directions and Parking Information can be found here: https://www.mclabs.com/room-rentals/microtek-dulles/  Where can I contact the organizer with any questions? For any questions about the event, e-mail tericcardo@gmail.com  About the instructor : Riccardo Terrell is an information systems and technology professional and architect specializing in software & systems development. He has over 20 years experience delivering cost-effective technology solutions in the competitive business environment. Riccardo is passionate about integrating advanced technology tools to increase internal efficiency, enhance work productivity, and reduce operating costs. He's currently a Senior Consultant with Excella Consulting, and a MVP who is active in the .Net, functional programming, and F# communities. Riccardo believes in multi-paradigm programming to maximize the power of code and is the author of "Functional Concurrency in .NET”; which, features how to develop highly-scalable systems in F# & C#.

      Categories: Science

      Event details may change at any time, always check with the event organizer when planning to attend this event or purchase tickets.