The document describes two projects to improve interprocess communication and slew models. The first project tested different I/O protocols to optimize how a program passed data between processes, finding ZeroMQ fastest but not ultimately needed. The second fitted antenna slew models by correlating scheduled and logged slew times, updating models and reducing errors.
In this analysis, we establish an economic and mathematical (queueing theory) framework to calculate how much it would cost to build the dev/test lab of your dreams. One in which developers never wait for testing resources, and every commit is tested on replicas of the production environment. Then, we contrast several different options to get there and evaluate all of them from an economic perspective.
After the presentation, in order to illustrate that this is not only theory, I also gave a quick demonstration of how we at Ravello use our own technology to develop our own application. Each engineer can spin up as many instances of the production replica app as needed on demand for dev/test. We showed how we have integrated Ravello with Jenkins so that on every commit, we spin up the production replica application and run integration tests in parallel.
If you have any questions, feel free to reach out. We are more than happy to discuss how this may be relevant to your development process. www.ravellosystems.com
Performance Optimization of HPC Applications: From Hardware to Source CodeFisnik Kraja
The document summarizes optimization techniques for HPC applications from hardware selection to application code tuning. It describes analyzing application performance, choosing an appropriate system, efficiently using resources, tuning system parameters, and optimizing code. Examples are provided for AVL Fire and OpenFOAM simulations, analyzing scalability, hardware dependencies, and reducing runtime through MPI and system tuning.
ABSTRACT
Secure communication requires strong cryptography and unpredictable cryptographic keys. The unpredictability comes from a random bit generator component call an entropy source. The entropy source is considered to be a black box (user’s perspective) that outputs bits of entropy from the noise source. Failure of an entropy source in the field may result in predictable outputs, which can undermine security and give access to potential attackers.
OSMC 2012 | Monitoring at CERN by Christophe HaenNETWAYS
Das CERN, die Europäische Organisation für Kernforschung, ist das weltweit größte Forschungszentrum für Teilchenphysik. Es werden dort Experimente in der Hochenergiephysik mit Hilfe des Teilchenbeschleunigers durchgeführt sowie anderer bereitgestellter Infrastrukturen. Die Untersuchungen rund um den Large Hadron Collider (LHC), erfordern umfangreiche IT-Infrastrukturen, um die Daten, die durch die Kollisionen generiert werden, zu verarbeiten. Sogar die Überwachung des LHC selbst hängt von einer komplexen Infrastruktur ab. Die CERN-IT stellt den Mitarbeitern und den Usern viele unterschiedliche Services bereit und ist vor allem aber der Hauptakteur des LHC GRID. Das GRID ist das weltweit verteilte Rechen- und Speicher-Netzwerk, das die nötige Kapazität zur Verfügung stellt um die Menge an Daten, die anhand des Teilchenbeschleunigers gesammelt wird, analysieren zu können. Es besteht aus 200.000 Cores verteilt auf 34 Ländern. All diese großen Rechenzentren erfordern ein sorgfältiges Monitoring, aber jedes für sich hat Besonderheiten, was dazu führt, dass unterschiedliche Monitoring Strategien und Tools angewandt werden müssen. Die unzähligen Herangehensweisen an diese Herausforderung werden in diesem Vortrag aufgezeigt sowie ein Ausblick auf geplante künftige Entwicklungen.
The document summarizes tracking developments for the LHCb experiment's 2020 upgrade. It discusses how the experiment will transition to a fully software-based trigger that performs offline-quality tracking on all 40 MHz of collisions. This will allow more flexible and unbiased triggers. Key points include:
- The upgraded experiment will read out the entire detector at 40 MHz and replace the hardware trigger with a software Low Level Trigger.
- Tracking algorithms have been developed that can reconstruct all tracks in an event and achieve offline-level performance within 5 milliseconds, well within the available budget even at higher luminosities.
- The software-based tracking provides important advantages over hardware triggers by minimizing bias and allowing more diverse triggers like lifetime
The FE-I4 Pixel Readout System-on-Chip for ATLAS Experiment Upgradesthemperek
Novel pixel readout system-on-chip (SoC) has been designed to meet the ever increasing demands of the present and future generation of LHC pixel detectors. The FE-I4 architecture has higher luminosity and rate capability as well as a smaller single pixel area compared to its predecessors and is currently the most complex chip designed for particle physics applications. The IC has been designed in 130nm CMOS technology. The state of the art of the FE-I4 will be presented, including the architecture overview, simulation results, preliminary measurements and a global design flow.
This document discusses the exploitation of TCP timestamps over time. It begins with an overview of what TCP timestamps are and their intended purpose. It then discusses various attacks that have exploited TCP timestamps to determine host uptime, identify hosts, gather network layout information, reveal hidden services, and improve OS fingerprinting. Many proposed mitigations have been shown to still be exploitable. The document argues that while solutions have been proposed, the problem has not been fully addressed. It concludes by calling for further good solutions and discussion on how to properly address the issue.
In this analysis, we establish an economic and mathematical (queueing theory) framework to calculate how much it would cost to build the dev/test lab of your dreams. One in which developers never wait for testing resources, and every commit is tested on replicas of the production environment. Then, we contrast several different options to get there and evaluate all of them from an economic perspective.
After the presentation, in order to illustrate that this is not only theory, I also gave a quick demonstration of how we at Ravello use our own technology to develop our own application. Each engineer can spin up as many instances of the production replica app as needed on demand for dev/test. We showed how we have integrated Ravello with Jenkins so that on every commit, we spin up the production replica application and run integration tests in parallel.
If you have any questions, feel free to reach out. We are more than happy to discuss how this may be relevant to your development process. www.ravellosystems.com
Performance Optimization of HPC Applications: From Hardware to Source CodeFisnik Kraja
The document summarizes optimization techniques for HPC applications from hardware selection to application code tuning. It describes analyzing application performance, choosing an appropriate system, efficiently using resources, tuning system parameters, and optimizing code. Examples are provided for AVL Fire and OpenFOAM simulations, analyzing scalability, hardware dependencies, and reducing runtime through MPI and system tuning.
ABSTRACT
Secure communication requires strong cryptography and unpredictable cryptographic keys. The unpredictability comes from a random bit generator component call an entropy source. The entropy source is considered to be a black box (user’s perspective) that outputs bits of entropy from the noise source. Failure of an entropy source in the field may result in predictable outputs, which can undermine security and give access to potential attackers.
OSMC 2012 | Monitoring at CERN by Christophe HaenNETWAYS
Das CERN, die Europäische Organisation für Kernforschung, ist das weltweit größte Forschungszentrum für Teilchenphysik. Es werden dort Experimente in der Hochenergiephysik mit Hilfe des Teilchenbeschleunigers durchgeführt sowie anderer bereitgestellter Infrastrukturen. Die Untersuchungen rund um den Large Hadron Collider (LHC), erfordern umfangreiche IT-Infrastrukturen, um die Daten, die durch die Kollisionen generiert werden, zu verarbeiten. Sogar die Überwachung des LHC selbst hängt von einer komplexen Infrastruktur ab. Die CERN-IT stellt den Mitarbeitern und den Usern viele unterschiedliche Services bereit und ist vor allem aber der Hauptakteur des LHC GRID. Das GRID ist das weltweit verteilte Rechen- und Speicher-Netzwerk, das die nötige Kapazität zur Verfügung stellt um die Menge an Daten, die anhand des Teilchenbeschleunigers gesammelt wird, analysieren zu können. Es besteht aus 200.000 Cores verteilt auf 34 Ländern. All diese großen Rechenzentren erfordern ein sorgfältiges Monitoring, aber jedes für sich hat Besonderheiten, was dazu führt, dass unterschiedliche Monitoring Strategien und Tools angewandt werden müssen. Die unzähligen Herangehensweisen an diese Herausforderung werden in diesem Vortrag aufgezeigt sowie ein Ausblick auf geplante künftige Entwicklungen.
The document summarizes tracking developments for the LHCb experiment's 2020 upgrade. It discusses how the experiment will transition to a fully software-based trigger that performs offline-quality tracking on all 40 MHz of collisions. This will allow more flexible and unbiased triggers. Key points include:
- The upgraded experiment will read out the entire detector at 40 MHz and replace the hardware trigger with a software Low Level Trigger.
- Tracking algorithms have been developed that can reconstruct all tracks in an event and achieve offline-level performance within 5 milliseconds, well within the available budget even at higher luminosities.
- The software-based tracking provides important advantages over hardware triggers by minimizing bias and allowing more diverse triggers like lifetime
The FE-I4 Pixel Readout System-on-Chip for ATLAS Experiment Upgradesthemperek
Novel pixel readout system-on-chip (SoC) has been designed to meet the ever increasing demands of the present and future generation of LHC pixel detectors. The FE-I4 architecture has higher luminosity and rate capability as well as a smaller single pixel area compared to its predecessors and is currently the most complex chip designed for particle physics applications. The IC has been designed in 130nm CMOS technology. The state of the art of the FE-I4 will be presented, including the architecture overview, simulation results, preliminary measurements and a global design flow.
This document discusses the exploitation of TCP timestamps over time. It begins with an overview of what TCP timestamps are and their intended purpose. It then discusses various attacks that have exploited TCP timestamps to determine host uptime, identify hosts, gather network layout information, reveal hidden services, and improve OS fingerprinting. Many proposed mitigations have been shown to still be exploitable. The document argues that while solutions have been proposed, the problem has not been fully addressed. It concludes by calling for further good solutions and discussion on how to properly address the issue.
Test time efficient group delay filter characterization technique using a dis...Pete Sarson, PH.D
To measure a filter’s group delay in production is never an easy task and to measure the group delay characteristic in quick and timely manner is difficult to say the least. This paper will discuss a simple method that expands on the author’s previous works that will demonstrate how to measure the group delay of a filter and how accurately the technique correlates to measurements of the silicon performance made in the lab. The test time saving and stability of results will be shown as well as the advantages of the technique with regard to having full characterization data available in a production program. Finally, it will be shown how the work can be further developed to a potentially more efficient technique.
Regular expression that produce parse treesAaron Karper
Presenting a regular expression engine, that gives parse trees in a single pass by modifying the standard non-deterministic finite-state automaton algorithm. My master thesis.
Apache Storm 0.9 basic training - VerisignMichael Noll
Apache Storm 0.9 basic training (130 slides) covering:
1. Introducing Storm: history, Storm adoption in the industry, why Storm
2. Storm core concepts: topology, data model, spouts and bolts, groupings, parallelism
3. Operating Storm: architecture, hardware specs, deploying, monitoring
4. Developing Storm apps: Hello World, creating a bolt, creating a topology, running a topology, integrating Storm and Kafka, testing, data serialization in Storm, example apps, performance and scalability tuning
5. Playing with Storm using Wirbelsturm
Audience: developers, operations, architects
Created by Michael G. Noll, Data Architect, Verisign, https://www.verisigninc.com/
Verisign is a global leader in domain names and internet security.
Tools mentioned:
- Wirbelsturm (https://github.com/miguno/wirbelsturm)
- kafka-storm-starter (https://github.com/miguno/kafka-storm-starter)
Blog post at:
http://www.michael-noll.com/blog/2014/09/15/apache-storm-training-deck-and-tutorial/
Many thanks to the Twitter Engineering team (the creators of Storm) and the Apache Storm open source community!
Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...ISSEL
Ο όρος επαλήθευση λογικής κατά την εκτέλεση οριοθετεί ένα πεδίο που εκτείνεται από τον έλεγχο λογισµικού για τη συµµόρφωση µε ένα σύνολο προδιαγραφών, έως την εναρµόνιση µε καλές λογικές πρακτικές κατά τη συγγραφή κώδικα. Στο πλαίσιο αυτό, υλοποιήσαµε τη lovpy, µια ϐιβλιοθήκη µεταπρογραµµατισµού για τη γλώσσα Python, που εισάγει σε αυτή τις δυνατότητες της επαλήθευσης λογικής κατά την εκτέλεση. Ο καθορισµός της πρότυπης λογικής γίνεται χρησιµοποιώντας τη διαισθητική γλώσσα έκφρασης προδιαγραφών Gherkin, ενώ η χρήση της ϐιβλιοθήκης δεν απαιτεί καµία αλλαγή στον υπάρχον κώδικα. Για την υλοποίησή της αξιοποιήσαµε µια σειρά εργαλείων της ϑεωρίας γράφων, της ϑεωρίας τυπικών γλωσσών, της χρονικής λογικής καθώς και µοντέλα ϐαθιάς µηχανικής µάθησης, εστιάζοντας περισσότερο στα νευρωνικά δίκτυα γράφων. Θεµελιώσαµε µαθηµατικά ένα νέο είδος γράφου για την αναπαράσταση χρονικών προδιαγραφών και ορίσαµε για αυτόν ένα σύνολο µαθηµατικά τεκµηριωµένων λογικών αλγορίθµων. Στη συνέχεια, αξιοποιήσαµε τις δοµές αυτές προκειµένου να υλοποιήσουµε ένα νέο σύστηµα αυτόµατης απόδειξης ϑεωρη µάτων, το οποίο µας εξασφαλίζει την απόλυτη εγκυρότητα των εντοπισµένων παραβιάσεων. Αξιολογήσαµε πέντε διαφορετικές αποδεικτικές αρχιτεκτονικές, αποτελούµενες από ευριστικούς κανόνες και απλά νευρωνικά µοντέλα, µέχρι µεγάλα νευρωνικά δίκτυα γράφων. Για την εκπαίδευση των νευρωνικών συστηµάτων υλοποιήσαµε ένα µηχανισµό παραγω γής συνθετικών ϑεωρηµάτων, αξιοποιώντας µια σειρά από µαθηµατικές ιδιότητες. Τέλος, χρησιµοποιήσαµε τη lovpy για να εντοπίσουµε σφάλµατα σε δύο δηµοφιλή ϐιβλιοθήκες ανοιχτού κώδικα, την Django και την Keras.
This document summarizes the experiences of Pedro Pereira and Ulisses Costa using the Cryptol language and tools. It describes their process of specifying the SNOW 3G cipher in Cryptol, generating implementations in VHDL and C, analyzing performance, and verifying correctness. It also provides feedback on documentation and areas for improvement. Key results include generating an efficient FPGA implementation achieving 160 MHz and verifying the pipeline structure improved throughput. Overall, the document confirms Cryptol enabled non-hardware experts to produce high-quality results.
The document describes the agenda for a hands-on training workshop on methylation sequencing analysis. The training will cover topics such as WGBS dataset quality control, mapping, and basic analysis using tools like methpipe, BEDtools, and the UCSC Genome Browser. The first session in the morning focuses on WGBS dataset QC, mapping with methpipe, and calculating metrics like bisulfite conversion rate and methylation levels in different genomic regions. The second session in the afternoon involves more advanced analysis using BEDtools to analyze methylation differences between genomic regions and between male and female samples, as well as using the UCSC Genome Browser.
Concurrency and parallelism in Python are always hot topics. This talk will look the variety of forms of concurrency and parallelism. In particular this talk will give an overview of various forms of message-passing concurrency which have become popular in languages like Scala and Go. A Python library called python-csp which implements similar ideas in a Pythonic way will be introduced and we will look at how this style of programming can be used to avoid deadlocks, race hazards and "callback hell".
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos ToolkitSylvain Hellegouarch
A report generated by the Chaos Toolkit after a Chaos Engineering experiment against OpenFaaS on Kubernetes.
View the run of the experiment at https://asciinema.org/a/dv4cNOMC5k1oWDhWDe97d5eij
The document describes the mechanism of msgpack::unpacker, which is a library for unpacking MessagePack serialized data in C++. It discusses two scenarios:
1) Receiving msgpack data in fixed length packets with a length header. The unpacker allocates a buffer based on the length, unpacks the data, and checks if more data is needed on each call.
2) Receiving a continuous msgpack stream without length headers. The unpacker allocates an initial buffer and resizes it as needed, unpacking data in chunks to avoid copying. It handles partially unpacked objects across buffer resizes.
The internal structures of the unpacker are also outlined, including how it manages memory buffers
This document is a technical summary of Kumofs, an open-source distributed key-value store. It shows Kumofs outperforming Memcached on throughput tests, handling over 3 million requests per second. Kumofs uses consistent hashing to distribute data across server nodes, and can scale horizontally by adding more servers. It also demonstrates high performance on Linux servers with Intel and AMD CPUs.
MessagePack(msgpack): Compact and Fast Serialization LibraryTakatoshi Kondo
This is a presentation on the lightning talks at C++Now2015.
http://cppnow.org/
I introduce a portable binary format named MessagePack and the library supports the format named msgpack-c. The msgpack-c library provides a zero-copy deserialization. I compare MessagePack and JSON, and the msgpack-c library and the Boost.Serialization library.
This document provides an overview of using the Python API to interact with Mesos and run tasks. It discusses registering a framework with Mesos, receiving resource offers, launching tasks, and monitoring task status updates. A simple Python scheduler class is demonstrated that can register with Mesos, decline resource offers, and receive status updates. Creating and launching a sample Docker task is shown, including defining resources, containers, ports, and commands. Methods for killing tasks are also covered.
The document discusses the Kumofs Project and MessagePack-RPC library. It provides an overview of Kumofs, which is a distributed key-value storage system that supports data consistency during dynamic rebalancing. It also summarizes MessagePack, which is an efficient data serialization library, and MessagePack-RPC, which allows for remote procedure calls between applications and supports asynchronous and concurrent calls.
MessagePack is an efficient binary serialization library that provides compact representations of structured data like JSON. It allows for remote procedure calls in a synchronous, asynchronous, or callback style and supports communicating with multiple servers concurrently through an event-driven I/O model. It measures much faster than JSON in serializing and deserializing common data types and objects through features like zero-copy streams and variable length encodings.
This document summarizes a presentation about hybrid messaging between on-premise systems and IBM Bluemix cloud services. The presentation discusses IBM Message Hub for scalable messaging in the cloud, connecting on-premise systems to Bluemix using Message Connect and Secure Gateway, and other approaches like running MQ in Docker containers. The goal is to enable organizations to leverage both their existing on-premise systems and Bluemix cloud services and applications through hybrid messaging architectures.
Programming Tools and Techniques #369 - The MessagePack ProjectSadayuki Furuhashi
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
gRPC is an open source framework that allows for communication between services using HTTP/2 and Protocol Buffers. It provides features like low latency and high scalability. Key benefits include focusing on service design, language interoperability, and growing community support. gRPC uses Protocol Buffers for serialization, HTTP/2 for transport, and an IDL for service definitions. It supports various request-response and streaming call types and provides libraries in many languages.
Google Protocol Buffers provide a cross-language, compact, and strongly typed format for serializing structured data. It defines messages using .proto files that can then be compiled to generate data access classes in various languages. While more lightweight than alternatives like XML, Protobuf has some limitations like lacking map and set data structures. It aims to be a simple yet flexible format for tasks like payloads, logging, and data storage.
This document introduces Protocol Buffers, an efficient data interchange format developed by Google. It allows data to be serialized and deserialized between different programming languages like Java, Python, and C++. Protocol Buffers use an Interface Definition Language (IDL) to define how serialized data is structured. Once defined, code can be generated to easily read and write protocol buffer data to and from various applications.
This document discusses the current state and further development of the ZMQ driver used by Mirantis. It describes changes made to reduce dependencies on eventlet and use a more flexible internal architecture based on ZeroMQ socket patterns. The document outlines the driver's new message processing path and discusses keeping a proxy component to avoid blocking. It also describes the driver's internal architecture including publisher-consumer pairs for different messaging patterns. Areas needing work for production readiness are identified as heartbeats, retries, persistence, performance optimization, and testing HA and scaling.
Test time efficient group delay filter characterization technique using a dis...Pete Sarson, PH.D
To measure a filter’s group delay in production is never an easy task and to measure the group delay characteristic in quick and timely manner is difficult to say the least. This paper will discuss a simple method that expands on the author’s previous works that will demonstrate how to measure the group delay of a filter and how accurately the technique correlates to measurements of the silicon performance made in the lab. The test time saving and stability of results will be shown as well as the advantages of the technique with regard to having full characterization data available in a production program. Finally, it will be shown how the work can be further developed to a potentially more efficient technique.
Regular expression that produce parse treesAaron Karper
Presenting a regular expression engine, that gives parse trees in a single pass by modifying the standard non-deterministic finite-state automaton algorithm. My master thesis.
Apache Storm 0.9 basic training - VerisignMichael Noll
Apache Storm 0.9 basic training (130 slides) covering:
1. Introducing Storm: history, Storm adoption in the industry, why Storm
2. Storm core concepts: topology, data model, spouts and bolts, groupings, parallelism
3. Operating Storm: architecture, hardware specs, deploying, monitoring
4. Developing Storm apps: Hello World, creating a bolt, creating a topology, running a topology, integrating Storm and Kafka, testing, data serialization in Storm, example apps, performance and scalability tuning
5. Playing with Storm using Wirbelsturm
Audience: developers, operations, architects
Created by Michael G. Noll, Data Architect, Verisign, https://www.verisigninc.com/
Verisign is a global leader in domain names and internet security.
Tools mentioned:
- Wirbelsturm (https://github.com/miguno/wirbelsturm)
- kafka-storm-starter (https://github.com/miguno/kafka-storm-starter)
Blog post at:
http://www.michael-noll.com/blog/2014/09/15/apache-storm-training-deck-and-tutorial/
Many thanks to the Twitter Engineering team (the creators of Storm) and the Apache Storm open source community!
Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επα...ISSEL
Ο όρος επαλήθευση λογικής κατά την εκτέλεση οριοθετεί ένα πεδίο που εκτείνεται από τον έλεγχο λογισµικού για τη συµµόρφωση µε ένα σύνολο προδιαγραφών, έως την εναρµόνιση µε καλές λογικές πρακτικές κατά τη συγγραφή κώδικα. Στο πλαίσιο αυτό, υλοποιήσαµε τη lovpy, µια ϐιβλιοθήκη µεταπρογραµµατισµού για τη γλώσσα Python, που εισάγει σε αυτή τις δυνατότητες της επαλήθευσης λογικής κατά την εκτέλεση. Ο καθορισµός της πρότυπης λογικής γίνεται χρησιµοποιώντας τη διαισθητική γλώσσα έκφρασης προδιαγραφών Gherkin, ενώ η χρήση της ϐιβλιοθήκης δεν απαιτεί καµία αλλαγή στον υπάρχον κώδικα. Για την υλοποίησή της αξιοποιήσαµε µια σειρά εργαλείων της ϑεωρίας γράφων, της ϑεωρίας τυπικών γλωσσών, της χρονικής λογικής καθώς και µοντέλα ϐαθιάς µηχανικής µάθησης, εστιάζοντας περισσότερο στα νευρωνικά δίκτυα γράφων. Θεµελιώσαµε µαθηµατικά ένα νέο είδος γράφου για την αναπαράσταση χρονικών προδιαγραφών και ορίσαµε για αυτόν ένα σύνολο µαθηµατικά τεκµηριωµένων λογικών αλγορίθµων. Στη συνέχεια, αξιοποιήσαµε τις δοµές αυτές προκειµένου να υλοποιήσουµε ένα νέο σύστηµα αυτόµατης απόδειξης ϑεωρη µάτων, το οποίο µας εξασφαλίζει την απόλυτη εγκυρότητα των εντοπισµένων παραβιάσεων. Αξιολογήσαµε πέντε διαφορετικές αποδεικτικές αρχιτεκτονικές, αποτελούµενες από ευριστικούς κανόνες και απλά νευρωνικά µοντέλα, µέχρι µεγάλα νευρωνικά δίκτυα γράφων. Για την εκπαίδευση των νευρωνικών συστηµάτων υλοποιήσαµε ένα µηχανισµό παραγω γής συνθετικών ϑεωρηµάτων, αξιοποιώντας µια σειρά από µαθηµατικές ιδιότητες. Τέλος, χρησιµοποιήσαµε τη lovpy για να εντοπίσουµε σφάλµατα σε δύο δηµοφιλή ϐιβλιοθήκες ανοιχτού κώδικα, την Django και την Keras.
This document summarizes the experiences of Pedro Pereira and Ulisses Costa using the Cryptol language and tools. It describes their process of specifying the SNOW 3G cipher in Cryptol, generating implementations in VHDL and C, analyzing performance, and verifying correctness. It also provides feedback on documentation and areas for improvement. Key results include generating an efficient FPGA implementation achieving 160 MHz and verifying the pipeline structure improved throughput. Overall, the document confirms Cryptol enabled non-hardware experts to produce high-quality results.
The document describes the agenda for a hands-on training workshop on methylation sequencing analysis. The training will cover topics such as WGBS dataset quality control, mapping, and basic analysis using tools like methpipe, BEDtools, and the UCSC Genome Browser. The first session in the morning focuses on WGBS dataset QC, mapping with methpipe, and calculating metrics like bisulfite conversion rate and methylation levels in different genomic regions. The second session in the afternoon involves more advanced analysis using BEDtools to analyze methylation differences between genomic regions and between male and female samples, as well as using the UCSC Genome Browser.
Concurrency and parallelism in Python are always hot topics. This talk will look the variety of forms of concurrency and parallelism. In particular this talk will give an overview of various forms of message-passing concurrency which have become popular in languages like Scala and Go. A Python library called python-csp which implements similar ideas in a Pythonic way will be introduced and we will look at how this style of programming can be used to avoid deadlocks, race hazards and "callback hell".
Exploring OpenFaaS autoscalability on Kubernetes with the Chaos ToolkitSylvain Hellegouarch
A report generated by the Chaos Toolkit after a Chaos Engineering experiment against OpenFaaS on Kubernetes.
View the run of the experiment at https://asciinema.org/a/dv4cNOMC5k1oWDhWDe97d5eij
The document describes the mechanism of msgpack::unpacker, which is a library for unpacking MessagePack serialized data in C++. It discusses two scenarios:
1) Receiving msgpack data in fixed length packets with a length header. The unpacker allocates a buffer based on the length, unpacks the data, and checks if more data is needed on each call.
2) Receiving a continuous msgpack stream without length headers. The unpacker allocates an initial buffer and resizes it as needed, unpacking data in chunks to avoid copying. It handles partially unpacked objects across buffer resizes.
The internal structures of the unpacker are also outlined, including how it manages memory buffers
This document is a technical summary of Kumofs, an open-source distributed key-value store. It shows Kumofs outperforming Memcached on throughput tests, handling over 3 million requests per second. Kumofs uses consistent hashing to distribute data across server nodes, and can scale horizontally by adding more servers. It also demonstrates high performance on Linux servers with Intel and AMD CPUs.
MessagePack(msgpack): Compact and Fast Serialization LibraryTakatoshi Kondo
This is a presentation on the lightning talks at C++Now2015.
http://cppnow.org/
I introduce a portable binary format named MessagePack and the library supports the format named msgpack-c. The msgpack-c library provides a zero-copy deserialization. I compare MessagePack and JSON, and the msgpack-c library and the Boost.Serialization library.
This document provides an overview of using the Python API to interact with Mesos and run tasks. It discusses registering a framework with Mesos, receiving resource offers, launching tasks, and monitoring task status updates. A simple Python scheduler class is demonstrated that can register with Mesos, decline resource offers, and receive status updates. Creating and launching a sample Docker task is shown, including defining resources, containers, ports, and commands. Methods for killing tasks are also covered.
The document discusses the Kumofs Project and MessagePack-RPC library. It provides an overview of Kumofs, which is a distributed key-value storage system that supports data consistency during dynamic rebalancing. It also summarizes MessagePack, which is an efficient data serialization library, and MessagePack-RPC, which allows for remote procedure calls between applications and supports asynchronous and concurrent calls.
MessagePack is an efficient binary serialization library that provides compact representations of structured data like JSON. It allows for remote procedure calls in a synchronous, asynchronous, or callback style and supports communicating with multiple servers concurrently through an event-driven I/O model. It measures much faster than JSON in serializing and deserializing common data types and objects through features like zero-copy streams and variable length encodings.
This document summarizes a presentation about hybrid messaging between on-premise systems and IBM Bluemix cloud services. The presentation discusses IBM Message Hub for scalable messaging in the cloud, connecting on-premise systems to Bluemix using Message Connect and Secure Gateway, and other approaches like running MQ in Docker containers. The goal is to enable organizations to leverage both their existing on-premise systems and Bluemix cloud services and applications through hybrid messaging architectures.
Programming Tools and Techniques #369 - The MessagePack ProjectSadayuki Furuhashi
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
gRPC is an open source framework that allows for communication between services using HTTP/2 and Protocol Buffers. It provides features like low latency and high scalability. Key benefits include focusing on service design, language interoperability, and growing community support. gRPC uses Protocol Buffers for serialization, HTTP/2 for transport, and an IDL for service definitions. It supports various request-response and streaming call types and provides libraries in many languages.
Google Protocol Buffers provide a cross-language, compact, and strongly typed format for serializing structured data. It defines messages using .proto files that can then be compiled to generate data access classes in various languages. While more lightweight than alternatives like XML, Protobuf has some limitations like lacking map and set data structures. It aims to be a simple yet flexible format for tasks like payloads, logging, and data storage.
This document introduces Protocol Buffers, an efficient data interchange format developed by Google. It allows data to be serialized and deserialized between different programming languages like Java, Python, and C++. Protocol Buffers use an Interface Definition Language (IDL) to define how serialized data is structured. Once defined, code can be generated to easily read and write protocol buffer data to and from various applications.
This document discusses the current state and further development of the ZMQ driver used by Mirantis. It describes changes made to reduce dependencies on eventlet and use a more flexible internal architecture based on ZeroMQ socket patterns. The document outlines the driver's new message processing path and discusses keeping a proxy component to avoid blocking. It also describes the driver's internal architecture including publisher-consumer pairs for different messaging patterns. Areas needing work for production readiness are identified as heartbeats, retries, persistence, performance optimization, and testing HA and scaling.
The Zen of High Performance Messaging with NATSApcera
The Zen of High Performance Messaging with NATS
Waldemar Quevedo Salinas, Senior Software Engineer
NATS is an open source, high performant messaging system with a design oriented towards both being as simple and reliable as possible without at the same time trading off scalability. Originally written in Ruby, and then rewritten in Go, a NATS server can nowadays push over 11M messages per second.
In this talk, we will cover how following simplicity as the main design constraint as well as focusing on a limited built-in feature set, resulted in a system which is easy to operate and reason about, making up for an attractive choice for when building many types of distributed systems where low latency and high availability are very important.
You can learn more about NATS at http://www.nats.io
The document discusses ZeroMQ for publishing and subscribing to messages, ZooKeeper for leader election to ensure only one publisher, and FlatBuffers for fast serialization. It provides an overview of each technology, sample code, and compares them to similar messaging, coordination, and serialization systems. The presentation includes a weather application demo that uses these three components together, with ZeroMQ for messaging, ZooKeeper for leader election of the publisher, and FlatBuffers for serialization.
RPC protocols like SOAP, XML-RPC, JSON-RPC, and Thrift allow for remote procedure calls between a client and server. RPC works by having a client call an RPC function, which then calls the service and executes the request. The service returns a reply and the program continues. Interface layers can be high-level existing API calls, middle-level custom API calls generated by a compiler, or low-level direct RPC API calls. Popular data formats used include XML, JSON, HTTP, and TCP/IP. Thrift is an open-source protocol developed by Facebook that supports many programming languages. It generates stubs for easy client-server communication. Avro and Protocol Buffers also generate stubs and are supported by languages like
The Current Messaging Landscape: RabbitMQ, ZeroMQ, nsq, KafkaAll Things Open
The document discusses Michael Laing's role as an architect at Edge Engineering and his work on various projects. It mentions his "nyt⨍aбrik" project, work with distributed graphs using Cassandra and Titan, and notes he is exploring using Spark Streaming for online analytical processing. The document contains technical details about distributed systems, databases, and graph structures.
gRPC is a modern open source RPC framework that enables client and server applications to communicate transparently. It is based on HTTP/2 for its transport mechanism and Protocol Buffers as its interface definition language. Some benefits of gRPC include being fast due to its use of HTTP/2, supporting multiple programming languages, and enabling server push capabilities. However, it also has some downsides such as potential issues with load balancing of persistent connections and requiring external services for service discovery.
gRPC is an open source RPC framework that makes it easy to build a distributed system across multiple languages. It uses HTTP/2 for transport, has features like streaming, load balancing and authentication built-in. It is used widely at Google and is now available open source with implementations in 10 languages. gRPC benefits from being layered on HTTP/2 for interoperability and has a pluggable architecture for advanced features like monitoring and proxies.
This document provides a summary of Laird Snowden's experience and qualifications. It includes contact information, a performance summary, and lists membership in professional organizations. The bulk of the document describes Snowden's extensive experience in semiconductor testing and new product introduction, including bringing fabrication facilities online, developing automated test equipment, improving yield, and reducing test time. It highlights experience at companies including Bell Labs, AT&T, TriQuint, and Silicon Labs.
This document discusses how Clobbi solutions help cable and wire enterprises digitally transform and realize benefits from Industry 4.0 technologies. It introduces four Clobbi solutions that optimize business processes: SmartFactory for MRP and production management, CableDesigner for R&D and quoting, DigitalTwins for IIoT and virtual/augmented reality, and CableEAM for predictive maintenance. Case studies show CableEAM reducing machine downtime by 30-50% and maintenance costs by 10-40% through advanced analytics and predictive maintenance approaches.
Have you ever wondered how to speed up your code in Python? This presentation will show you how to start. I will begin with a guide how to locate performance bottlenecks and then give you some tips how to speed up your code. Also I would like to discuss how to avoid premature optimization as it may be ‘the root of all evil’ (at least according to D. Knuth).
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairClaire Le Goues
In this talk we present lessons learned, good ideas, and thoughts on the future, with an eye toward informing junior researchers about the realities and opportunities of a long-running project. We highlight some notions from the original paper that stood the test of time, some that were not as prescient, and some that became more relevant as industrial practice advanced. We place the work in context, highlighting perceptions from software engineering and evolutionary computing, then and now, of how program repair could possibly work. We discuss the importance of measurable benchmarks and reproducible research in bringing scientists together and advancing the area. We give our thoughts on the role of quality requirements and properties in program repair. From testing to metrics to scalability to human factors to technology transfer, software repair touches many aspects of software engineering, and we hope a behind-the-scenes exploration of some of our struggles and successes may benefit researchers pursuing new projects.
From Mess To Masterpiece - JFokus 2017Sven Ruppert
How a migration to MicroServices could change the team, architecture and coding culture. What you could you do and how you could transform a "Jurassic Park" into a lightweight environment. In this talk we will explore the strategy, techniques, pattern and tools I used to transform a team and the architecture that was grown over 15yrs. This will be a mix of pattern, tools and techniques that was able to migrate old systems, used inside insurance and banks. We had to migrate fat systems with a few million lines of code...
This document summarizes a master's thesis presentation on investigating the performance of high solidity H-rotor Darrieus vertical axis wind turbines (VAWTs) with multiple airfoil configurations using computational fluid dynamics (CFD) software. The objectives were to evaluate VAWT performance with multiple airfoils, develop an efficient process for testing profiles, and provide a robust platform for future work. OpenFOAM was used to generate meshes and simulate cases. Results showed that the NACA 0018 airfoil emerged as most efficient due to its shape, thickness, and accounting for turbulence interference from leading airfoils. Developing CFD utilities improved meshing and analysis efficiency.
The document discusses the VLSI lab and its goals of designing and simulating CMOS inverter circuits using CAD tools. It describes the necessary hardware, software, and foundry resources needed. The design steps are outlined as schematic creation, layout design, DRC checks, parasitic extraction, and post-layout simulation. A list of experiments is provided focusing on logic gates, flip flops, multiplexers, and sequential circuits. The document also discusses the Microwind tool for circuit layout and simulation and provides tutorials on MOS devices and design rules for the layout process.
Crash course on data streaming (with examples using Apache Flink)Vincenzo Gulisano
These are the slides I used for a crash course (4 hours) on data streaming. It contains both theory / research aspects as well as examples based on Apache Flink (DataStream API)
SAND: A Fault-Tolerant Streaming Architecture for Network Traffic AnalyticsQin Liu
SAND is a fault-tolerant streaming architecture designed for real-time network traffic analytics. It uses a C++ implementation to achieve high performance processing speeds unable to be matched by Java-based systems like Storm. SAND introduces a new fault tolerance scheme using a checkpointing protocol that allows workers to reliably recover state after failures while providing correct results. Evaluation shows SAND can process over 9.6 million packets per second, outperforming alternatives by 3.7-37x, and reliably recover from failures within seconds.
The document discusses a company that faced scalability issues with their infrastructure as their product Inoreader grew in popularity. To address these issues, they migrated their servers to a fully virtualized environment using OpenNebula for virtualization and StorPool for distributed storage. This provided significant performance gains and increased capacity, allowing them to run the same workloads with fewer physical servers and benefit from high availability and redundancy. The migration process involved setting up StorPool nodes, virtualizing servers incrementally, and migrating VMs and data to the new infrastructure over multiple iterations.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2lGNybu.
Stefan Krawczyk discusses how his team at StitchFix use the cloud to enable over 80 data scientists to be productive. He also talks about prototyping ideas, algorithms and analyses, how they set up & keep schemas in sync between Hive, Presto, Redshift & Spark and make access easy for their data scientists, etc. Filmed at qconsf.com..
Stefan Krawczyk is Algo Dev Platform Lead at StitchFix, where he’s leading development of the algorithm development platform. He spent formative years at Stanford, LinkedIn, Nextdoor & Idibon, working on everything from growth engineering, product engineering, data engineering, to recommendation systems, NLP, data science and business intelligence.
This document discusses various metrics for evaluating computer performance and discusses latency. It defines latency as the time it takes a computer to perform a single task and discusses how latency is measured. Latency is important for application responsiveness, real-time applications, and other situations where waiting time matters. The document also introduces the performance equation that models latency in terms of architectural parameters like instructions, clock cycles, and clock frequency.
HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...Yuji Kubota
The document discusses a new runtime monitoring tool called HeapStats that provides a lightweight Java agent for collecting troubleshooting information from a Java application. It summarizes problems with current troubleshooting approaches like insufficient logging and complicated settings. HeapStats aims to collect required information continuously with low overhead, and provide easy-to-use visualization of the collected data to help with troubleshooting memory and performance issues. The document demonstrates how HeapStats hooks into garbage collection to gather heap statistics without extra stop-the-world pauses.
OpenPOWER Webinar from University of Delaware - Title :OpenMP (offloading) o...Ganesan Narayanasamy
This presentation discusses the on-going project on building a validation and verification (V&V) testsuite of the widely popular directive-based parallel programming model, OpenMP. The talk will present results of the OpenMP offloading features implemented in various compilers targeting Summit among other systems. This project is open-source and the SOLLVE V&V team welcomes collaborations.
This document describes a presentation on circuit simulation using Python. It discusses using Python as an engineering language due to its high-level syntax, object orientation, and large scientific environment. It then provides an overview of circuit simulation workflows and SPICE as an industry standard. The remainder of the document is the slide content from the presentation, which covers nodal analysis techniques, different types of circuit analyses in SPICE, open source SPICE clones, and PySpice which acts as a bridge between SPICE simulations in Ngspice and analysis in Python.
The document discusses using supercomputers like the FX10 to help with mining large software datasets in mobile software repositories (MSR) research. It describes a case study where code clone detection was performed on the Apache CXF project using a desktop computer, another desktop, and the FX10 supercomputer. The FX10 was significantly faster, finishing the task in 42 seconds compared to over 2 hours for the desktops. Challenges of scaling MSR analysis to very large datasets like the entire UCI repository are also discussed.
The document discusses analyzing Android kernels for security vulnerabilities. It describes binary analysis techniques like disassembling kernels and fuzzing common targets like mmap and ioctl calls. A case study shows discovering a vulnerability in an audio driver through fuzzing its mmap function. The document also recommends approaches for static source code analysis like preprocessing Android kernel source with LLVM tools and using the Clang static analyzer to find issues. Suggestions are provided for smartphone manufacturers and SOC vendors to improve security practices.
OpenNebulaConf2018 - How Inoreader Migrated from Bare-Metal Containers to Ope...OpenNebula Project
See how Inoreader migrated from Bare-metal servers to OpenNebula + StorPool. Inoreader has reached a tipping point where it was no longer sustainable to add hardware servers to store the billions of articles that hundreds of thousands of users read every day across the globe. With OpenNebula and StorPool we can now utilize those servers far more efficiently and no longer worry about performance and downtime.
OpenNebulaConf2018 - How Inoreader Migrated from Bare-Metal Containers to Ope...
presentation
1. Improving Interprocess Communication in Globl/solve
&
Improving Slew Models for IVS antennas
Lina Olandersson, Erik Thorsell, Simon Strandberg
2016-08-18
Created for NVI Inc. at the Goddard Space Flight Centre
2. Table of Contents
Learning Fortran
Our First Project
Testing I/O performance
Implementation
Results for Project One
Our Second Project
Result for Project Two
1
8. Problem Description
Rewrite how Globl/solve handles its passing of data to and from
userpartials and userprogs.
By minimizing disc I/O we want to increase the speed at which
data is sent.
5
14. I/O Performance
Protocols we have tried and used:
• Using the hard drive:
• Read/Write to file
• Sending/Receiving with pipes
7
15. I/O Performance
Protocols we have tried and used:
• Using the hard drive:
• Read/Write to file
• Sending/Receiving with pipes
• Using the memory:
7
16. I/O Performance
Protocols we have tried and used:
• Using the hard drive:
• Read/Write to file
• Sending/Receiving with pipes
• Using the memory:
• Sending/Receiving with TCP/IP Sockets
7
17. I/O Performance
Protocols we have tried and used:
• Using the hard drive:
• Read/Write to file
• Sending/Receiving with pipes
• Using the memory:
• Sending/Receiving with TCP/IP Sockets
• Sending/Receiving with OpenMPI
7
18. I/O Performance
Protocols we have tried and used:
• Using the hard drive:
• Read/Write to file
• Sending/Receiving with pipes
• Using the memory:
• Sending/Receiving with TCP/IP Sockets
• Sending/Receiving with OpenMPI
• Sending/Receiving with ZeroMQ
7
20. Performance Test
1. The producer generates a list of length n and fills it with
integers.
2. The producer writes the list to file (or sends it over the
designated transfer protocol).
8
21. Performance Test
1. The producer generates a list of length n and fills it with
integers.
2. The producer writes the list to file (or sends it over the
designated transfer protocol).
3. The consumer reads (or receives) the list.
8
22. Performance Test
1. The producer generates a list of length n and fills it with
integers.
2. The producer writes the list to file (or sends it over the
designated transfer protocol).
3. The consumer reads (or receives) the list.
4. The consumer squares each int in the list and sends it back to
the producer.
8
23. Performance Test
1. The producer generates a list of length n and fills it with
integers.
2. The producer writes the list to file (or sends it over the
designated transfer protocol).
3. The consumer reads (or receives) the list.
4. The consumer squares each int in the list and sends it back to
the producer.
5. The producer reads (or receives) the modified list.
8
27. Result for I/O Performance
• TCP was the fastest, but the most difficult to implement.
12
28. Result for I/O Performance
• TCP was the fastest, but the most difficult to implement.
• Since we assumed a lot of data would be passed we opted for
ZeroMQ due to its presumptive ease of use and performance.
12
32. Implementation
• Installation of ZeroMQ on bootes
• Porting our code to a different compiler: gfortran → ifort
• Understanding where to put what and why
13
33. Implementation
• Installation of ZeroMQ on bootes
• Porting our code to a different compiler: gfortran → ifort
• Understanding where to put what and why
• A lot of coding
13
38. Implementation
• Two programs:
• child com.f
• parent com.f
• Strategy:
• Open and close the
connection as few times
as possible
14
39. Implementation
• Two programs:
• child com.f
• parent com.f
• Strategy:
• Open and close the
connection as few times
as possible
• Send as much data as
possible each time
14
42. Results for Project One
Running userpartials for ∼200 sessions.
• Old version of globl/solve: 8 minutes 47 seconds
15
43. Results for Project One
Running userpartials for ∼200 sessions.
• Old version of globl/solve: 8 minutes 47 seconds
• New version of globl/solve: 9 minutes 5 seconds
15
45. Results for Project One
Running userpartials for ∼1400 sessions.
• Old version of globl/solve: 42 minutes 20 seconds
16
46. Results for Project One
Running userpartials for ∼1400 sessions.
• Old version of globl/solve: 42 minutes 20 seconds
• New version of globl/solve: 46 minutes 34 seconds
16
51. Results for Project One
Maybe not all in vain:
• ZeroMQ can be used for concurrency (parallel programming)
20
52. Results for Project One
Maybe not all in vain:
• ZeroMQ can be used for concurrency (parallel programming)
• We only calculate user partials, what about user programs?
20
55. Future studies
• Remove the writes that are no longer needed.
• TCP should have been the way to go?
22
56. Future studies
• Remove the writes that are no longer needed.
• TCP should have been the way to go?
• Posix Shared Memory?
22
57. Future studies
• Remove the writes that are no longer needed.
• TCP should have been the way to go?
• Posix Shared Memory?
• Conversion between C and Fortran was non trivial.
22
60. Problem Description
The model used for determining when an antenna acquires a
source is a little bit off. Sked will say that an antenna should be on
target at time T but the logfiles tells us that the antenna actually
was on source at T ± c.
24
73. Mirrored data points
• Some stations has a line of additional data points mirrored in
the 180 degree line.
35
74. Mirrored data points
• Some stations has a line of additional data points mirrored in
the 180 degree line.
• Probably due to cable wrap.
35
75. Mirrored data points
• Some stations has a line of additional data points mirrored in
the 180 degree line.
• Probably due to cable wrap.
• Stations: Ishioka, Kath12m, Sejong and Yarra12m
35