The document provides an introduction to data-oriented design (DOD). It discusses how modern computer architectures have changed with memory latency now being the dominant factor over CPU speed. This has made the traditional object-oriented programming model focused on code inefficient. DOD is presented as an alternative paradigm that focuses on data transformations rather than objects. Key principles of DOD include keeping data close to CPU caches, processing data together in blocks, and separating data from code. Examples are given showing how DOD can improve performance and locality of reference. Benefits of DOD include maximum performance, ease of parallelization, and simpler code.
Beating Floating Point at its Own Game: Posit Arithmeticinside-BigData.com
In this deck from the HPC Advisory Council Australia Conference, John Gustafson from Singapore National University presents: Beating Floats at Their Own Game.
"Dr. Gustafson has recently finished writing a book, The End of Error: Unum Computing, that presents a new approach to computer arithmetic: the unum. The universal number, or unum format, encompasses all IEEE floating-point formats as well as fixed-point and exact integer arithmetic. This approach obtains more accurate answers than floating-point arithmetic yet uses fewer bits in many cases, saving memory, bandwidth, energy, and power."
Learn more: http://johngustafson.net/
Watch the video: https://wp.me/p3RLHQ-h8F
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Beyond Floating Point – Next Generation Computer Arithmeticinside-BigData.com
John Gustafson from the National University of Singapore presented this talk at Stanford.
“A new data type called a “posit” is designed for direct drop-in replacement for IEEE Standard 754 floats. Unlike unum arithmetic, posits do not require interval-type mathematics or variable size operands, and they round if an answer is inexact, much the way floats do. However, they provide compelling advantages over floats, including simpler hardware implementation that scales from as few as two-bit operands to thousands of bits. For any bit width, they have a larger dynamic range, higher accuracy, better closure under arithmetic operations, and simpler exception-handling. For example, posits never overflow to infinity or underflow to zero, and there is no “Not-a-Number” (NaN) value. Posits should take up less space to implement in silicon than an IEEE float of the same size. With fewer gate delays per operation as well as lower silicon footprint, the posit operations per second (POPS) supported by a chip can be significantly higher than the FLOPs using similar hardware resources. GPU accelerators, in particular, could do more arithmetic per watt and per dollar yet deliver superior answer quality.”
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Watch the video presentation: http://wp.me/p3RLHQ-gjH
Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...inside-BigData.com
In this deck, John Gustafson presents: An Energy Efficient and Massively Parallel Approach to Valid Numerics.
"Written by one of the foremost experts in high-performance computing and the inventor of Gustafson’s Law, The End of Error: Unum Computing explains a new approach to computer arithmetic: the universal number (unum). The unum encompasses all IEEE floating-point formats as well as fixed-point and exact integer arithmetic. This new number type obtains more accurate answers than floating-point arithmetic yet uses fewer bits in many cases, saving memory, bandwidth, energy, and power."
Watch the video presentation: http://wp.me/p3RLHQ-dTk
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Rajat Monga at AI Frontiers: Deep Learning with TensorFlowAI Frontiers
In this talk at AI Frontiers Conference, Rajat Monga shares about TensorFlow that has enabled cutting-edge machine learning research at the top AI labs in the world. At the same time it has made the technology accessible to a large audience leading to some amazing uses. TensorFlow is used for classification, recommendation, text parsing, sentiment analysis and more. This talk goes over the design that makes it fast, flexible, and easy to use, and describe how we continue to make it better.
The following slides were presented at PyCon 2017, Portland, USA. It is the improved version of the project presented at PyCon India 2016.
It mainly highlights the ability of machines to generate something as beautiful as music using a neural network model called as LSTM. It also covers some of the challenges, trade-offs that we faced during the project.
Beating Floating Point at its Own Game: Posit Arithmeticinside-BigData.com
In this deck from the HPC Advisory Council Australia Conference, John Gustafson from Singapore National University presents: Beating Floats at Their Own Game.
"Dr. Gustafson has recently finished writing a book, The End of Error: Unum Computing, that presents a new approach to computer arithmetic: the unum. The universal number, or unum format, encompasses all IEEE floating-point formats as well as fixed-point and exact integer arithmetic. This approach obtains more accurate answers than floating-point arithmetic yet uses fewer bits in many cases, saving memory, bandwidth, energy, and power."
Learn more: http://johngustafson.net/
Watch the video: https://wp.me/p3RLHQ-h8F
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Beyond Floating Point – Next Generation Computer Arithmeticinside-BigData.com
John Gustafson from the National University of Singapore presented this talk at Stanford.
“A new data type called a “posit” is designed for direct drop-in replacement for IEEE Standard 754 floats. Unlike unum arithmetic, posits do not require interval-type mathematics or variable size operands, and they round if an answer is inexact, much the way floats do. However, they provide compelling advantages over floats, including simpler hardware implementation that scales from as few as two-bit operands to thousands of bits. For any bit width, they have a larger dynamic range, higher accuracy, better closure under arithmetic operations, and simpler exception-handling. For example, posits never overflow to infinity or underflow to zero, and there is no “Not-a-Number” (NaN) value. Posits should take up less space to implement in silicon than an IEEE float of the same size. With fewer gate delays per operation as well as lower silicon footprint, the posit operations per second (POPS) supported by a chip can be significantly higher than the FLOPs using similar hardware resources. GPU accelerators, in particular, could do more arithmetic per watt and per dollar yet deliver superior answer quality.”
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Watch the video presentation: http://wp.me/p3RLHQ-gjH
Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...inside-BigData.com
In this deck, John Gustafson presents: An Energy Efficient and Massively Parallel Approach to Valid Numerics.
"Written by one of the foremost experts in high-performance computing and the inventor of Gustafson’s Law, The End of Error: Unum Computing explains a new approach to computer arithmetic: the universal number (unum). The unum encompasses all IEEE floating-point formats as well as fixed-point and exact integer arithmetic. This new number type obtains more accurate answers than floating-point arithmetic yet uses fewer bits in many cases, saving memory, bandwidth, energy, and power."
Watch the video presentation: http://wp.me/p3RLHQ-dTk
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Rajat Monga at AI Frontiers: Deep Learning with TensorFlowAI Frontiers
In this talk at AI Frontiers Conference, Rajat Monga shares about TensorFlow that has enabled cutting-edge machine learning research at the top AI labs in the world. At the same time it has made the technology accessible to a large audience leading to some amazing uses. TensorFlow is used for classification, recommendation, text parsing, sentiment analysis and more. This talk goes over the design that makes it fast, flexible, and easy to use, and describe how we continue to make it better.
The following slides were presented at PyCon 2017, Portland, USA. It is the improved version of the project presented at PyCon India 2016.
It mainly highlights the ability of machines to generate something as beautiful as music using a neural network model called as LSTM. It also covers some of the challenges, trade-offs that we faced during the project.
Presentation from DICE Coder's Day (2010 November) by Johan Torp:
This talk is about making object-oriented code more cache-friendly and how we can incrementally move towards parallelizable data-oriented designs. Filled with production code examples from Frostbite’s pathfinding implementation.
The Sieve of Eratosthenes - Part II - Genuine versus Unfaithful Sieve - Haske...Philip Schwarz
When I posted the deck for Part 1 to the Scala users forum, Odd Möller linked to a paper titled "The Genuine Sieve of Eratosthenes", which speaks of the Unfaithful Sieve.
Part 2 is based on that paper and on Richard Bird's faithful Haskell implementation of the Sieve, which we translate into Scala.
Scala code for Richard Bird's infinite primes Haskell program: https://github.com/philipschwarz/sieve-of-eratosthenes-part-2-scala
How do you cut the Big Data clutter and tell interesting, insightful and impacting stories? This session talks about the need for Data Visualization & how Visual stories can come to the aid of the Big Data problem associated with meaningful consumption. The point is illustrated by leveraging several industry case studies.
Erik Laurijssen at UX Antwerp Meetup - 31 October 2017UX Antwerp Meetup
UX Antwerp Meetup, 31st of October, 2017 - organised by UXprobe https://www.uxpro.be/
Erik Laurijssen, co-founder of Datylon (Antwerp, Belgium)
"Data Visualization on the rise"
Over the last five years data visualization has evolved tremendously. Yet, might it be that we've only just scratched the surface? In this talk we'll cover the current state of the dataviz industry and where it seems to be heading. We'll also present some innovative cases of user centric data visualization.
–
Erik co-founded Datylon in 2013 after an international career in various leadership roles across industries including enterprise software/SaaS, telecom and digital printing. With a team of 20 data visualization experts Datylon brings to market a data visualization platform and aims to help people, organisations and companies communicate better and faster with data.
Why mathematics is easy to understand, easy to do, and easy to prove in base 60. The number theory behind the creation story and the beginning of time.
Presentation from DICE Coder's Day (2010 November) by Johan Torp:
This talk is about making object-oriented code more cache-friendly and how we can incrementally move towards parallelizable data-oriented designs. Filled with production code examples from Frostbite’s pathfinding implementation.
The Sieve of Eratosthenes - Part II - Genuine versus Unfaithful Sieve - Haske...Philip Schwarz
When I posted the deck for Part 1 to the Scala users forum, Odd Möller linked to a paper titled "The Genuine Sieve of Eratosthenes", which speaks of the Unfaithful Sieve.
Part 2 is based on that paper and on Richard Bird's faithful Haskell implementation of the Sieve, which we translate into Scala.
Scala code for Richard Bird's infinite primes Haskell program: https://github.com/philipschwarz/sieve-of-eratosthenes-part-2-scala
How do you cut the Big Data clutter and tell interesting, insightful and impacting stories? This session talks about the need for Data Visualization & how Visual stories can come to the aid of the Big Data problem associated with meaningful consumption. The point is illustrated by leveraging several industry case studies.
Erik Laurijssen at UX Antwerp Meetup - 31 October 2017UX Antwerp Meetup
UX Antwerp Meetup, 31st of October, 2017 - organised by UXprobe https://www.uxpro.be/
Erik Laurijssen, co-founder of Datylon (Antwerp, Belgium)
"Data Visualization on the rise"
Over the last five years data visualization has evolved tremendously. Yet, might it be that we've only just scratched the surface? In this talk we'll cover the current state of the dataviz industry and where it seems to be heading. We'll also present some innovative cases of user centric data visualization.
–
Erik co-founded Datylon in 2013 after an international career in various leadership roles across industries including enterprise software/SaaS, telecom and digital printing. With a team of 20 data visualization experts Datylon brings to market a data visualization platform and aims to help people, organisations and companies communicate better and faster with data.
Why mathematics is easy to understand, easy to do, and easy to prove in base 60. The number theory behind the creation story and the beginning of time.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
43. Our Programming
Model
• High-level languages
• OOP
• everywhere!
• objects scattered throughout the
address space
• access patterns are unpredictable
61. Distance Metaphor
•
•
L1 cache: it's on your desk, pick it up.
L2 cache: it's on the bookshelf in your office, get
up out of the chair.
62. Distance Metaphor
•
•
L1 cache: it's on your desk, pick it up.
•
Main memory: it's on the shelf in your garage
downstairs, might as well get a snack while you're
down there.
L2 cache: it's on the bookshelf in your office, get
up out of the chair.
63. Distance Metaphor
•
•
L1 cache: it's on your desk, pick it up.
•
Main memory: it's on the shelf in your garage
downstairs, might as well get a snack while you're
down there.
•
Disk: it's in, um, California. Walk there. Walk back.
Really.
L2 cache: it's on the bookshelf in your office, get
up out of the chair.
64. Distance Metaphor
•
•
L1 cache: it's on your desk, pick it up.
•
Main memory: it's on the shelf in your garage
downstairs, might as well get a snack while you're
down there.
•
Disk: it's in, um, California. Walk there. Walk back.
Really.
L2 cache: it's on the bookshelf in your office, get
up out of the chair.
http://hacksoflife.blogspot.com/2011/04/going-to-california-with-aching-in-my.html
67. Advice
• Keep your data closer to registers and
cache
• What’s good for memory - good for you
68. Example 1: AoS vs SoA
struct Tile
{
bool ready;
Data pixels; // big chunk of data
};
Tile tiles[SIZE];
vs
struct Image
{
bool ready[SIZE];
// hot data
Data pixels[SIZE]; // cold data
};
69. Example 1: AoS vs SoA
for (int i = 0; i < SIZE; ++i)
{
if (tiles[i].ready)
draw(tiles[i].pixels);
}
vs
for (int i = 0; i < SIZE; ++i)
{
if (image.ready[i])
draw(image.pixels[i]);
}
71. Example 2: Existence
struct Image
{
bool ready[SIZE];
Data pixels[SIZE];
};
Image image;
vs
Data ready_pixels[N];
Data no_pixels[M];
// N + M = SIZE
72. Example 2: Existence
for (int i = 0; i < SIZE; ++i)
{
if (image.ready[i])
draw(image.pixels[i]);
}
vs
for (int i = 0; i < N; ++i)
{
draw(ready_pixels[i];
}
73. Example 3: Locality
std::vector<float> numbers;
float sum = 0.0f;
for (auto it : numbers)
sum += *it;
vs
std::list<float> numbers;
float sum = 0.0f;
for (auto it : numbers)
sum+ = *it;
75. Few Patterns
• A to B transform
• In place transform
• Existence based processing
• Data normalization
• DB design says hello!
• Task, gather, dispatch, and more...
78. Benefits of DOD
•
•
Maximum performance
•
CPU doesn’t wait & starve
Easy to parallelize
•
•
data is grouped, transforms separated
ready for Parallel Processing, OOP doesn’t
79. Benefits of DOD
•
•
•
Maximum performance
•
CPU doesn’t wait & starve
Easy to parallelize
•
•
data is grouped, transforms separated
ready for Parallel Processing, OOP doesn’t
Simpler code
•
surprise!
80. References: Memory
• Ulrich Drepper “What Every Computer
Programmer Should Know About Memory”
• Крис Касперски “Техника оптимизации
програм. Еффективное использование
памяти”
• Christer Ericson “Memory Optimization”
• Igor Ostrovsky “Gallery of Processor Cache
Effects”
81. References: DOD
•
Noel Llopis “Data-Oriented Design”, Game Developer
Magazine, September 2009
•
Richard Fabian “Data-Oriented Desing”, book draft
http://www.dataorienteddesign.com/dodmain/
•
•
Tony Albrecht “Pitfalls of Object-Oriented Programming”
•
•
Mike Acton “Typical C++ Bullshit”
Niklas Frykholm “Practical Examples of Data Oriented
Design”
Data Oriented Design @ Google+