The article briefly concerns methods of estimating the minimum time of executing tasks at optimal distribution of load among processors. The given methods can be used both for homogeneous and heterogeneous computer systems.
Презентация посвящена вопросам использования параллельных алгоритмов для создания современных эффективных программных решений. Актуальность данной тематики обусловлена снижением темпов роста тактовой частоты микропроцессоров и возрастанием внимания к использованию всех возможностей многоядерных и многопроцессорных систем. В работе рассмотрен ряд базовых параллельных алгоритмов, таких как умножение матриц, параллельная сортировка Бэтчера, метод Гаусса решения систем линейных алгебраических уравнений и так далее. Приведена реализация этих алгоритмов c использованием языка программирования Си++.
The static code analysis rules for diagnosing potentially unsafe construction...Sergey Vasilyev
The article formulates the rules of diagnosing potentially unsafe syntactic constructions in source code of C++ programs and describes the principles of building a static source code analyzer implementing support of the mentioned rules.
The resource finding system is mainly divided into two parts. First part is the facility for HR people to maintain the projects project timeline (i.e. HR’s can add/delete a project and mark a project completed/failed) which will help in the accuracy calculation of the employee’s. Second part of the project is the data mining part, the HR will enter the required skills for upcoming project then the system will use the employee’s skill sets and accuracy (based on previous projects) to apply apriori algorithm.
Презентация посвящена вопросам использования параллельных алгоритмов для создания современных эффективных программных решений. Актуальность данной тематики обусловлена снижением темпов роста тактовой частоты микропроцессоров и возрастанием внимания к использованию всех возможностей многоядерных и многопроцессорных систем. В работе рассмотрен ряд базовых параллельных алгоритмов, таких как умножение матриц, параллельная сортировка Бэтчера, метод Гаусса решения систем линейных алгебраических уравнений и так далее. Приведена реализация этих алгоритмов c использованием языка программирования Си++.
The static code analysis rules for diagnosing potentially unsafe construction...Sergey Vasilyev
The article formulates the rules of diagnosing potentially unsafe syntactic constructions in source code of C++ programs and describes the principles of building a static source code analyzer implementing support of the mentioned rules.
The resource finding system is mainly divided into two parts. First part is the facility for HR people to maintain the projects project timeline (i.e. HR’s can add/delete a project and mark a project completed/failed) which will help in the accuracy calculation of the employee’s. Second part of the project is the data mining part, the HR will enter the required skills for upcoming project then the system will use the employee’s skill sets and accuracy (based on previous projects) to apply apriori algorithm.
Правила статического анализа кода для диагностики потенциально опасных констр...Sergey Vasilyev
В статье сформулированы правила диагностики потенциально опасных синтаксических конструкций в исходном коде программ на языке Си++. Описаны принципы построения статического анализатора исходного кода, реализующего проверку указанных правил.
Расчет минимального времени выполнения задач при оптимальном распределении на...Sergey Vasilyev
В презентации кратко рассмотрены методы расчета минимального времени выполнения задач при оптимальном распределении нагрузки между процессорами. Приведенные методы могут применяться для однородных и неоднородных вычислительных систем.
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
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
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.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Правила статического анализа кода для диагностики потенциально опасных констр...Sergey Vasilyev
В статье сформулированы правила диагностики потенциально опасных синтаксических конструкций в исходном коде программ на языке Си++. Описаны принципы построения статического анализатора исходного кода, реализующего проверку указанных правил.
Расчет минимального времени выполнения задач при оптимальном распределении на...Sergey Vasilyev
В презентации кратко рассмотрены методы расчета минимального времени выполнения задач при оптимальном распределении нагрузки между процессорами. Приведенные методы могут применяться для однородных и неоднородных вычислительных систем.
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
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
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.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Estimation of the minimum time of executing tasks at optimal distribution of load among processors
1. Estimation of the minimum time of executing tasks at optimal distribution of load among
processors.
Author: Andrey Karpov
Annotation. The article briefly concerns methods of estimating the minimum time of executing tasks at optimal distribution of
load among processors. The given methods can be used both for homogeneous and heterogeneous computer systems.
To the reader
This document is part of a series of articles devoted to the questions of creating quality and effective program solutions for
modern 64-bit multi-core systems. You can see other articles on the site http://www.viva64.com.
Introduction
Despite great computational power of modern computers there are tasks solution of which in sequential mode takes much
time. The time for solving such tasks can be greatly reduced by using abilities of modern multi-core processors for calculations.
In order to fully use the advantages provided by these processors it is necessary to improve algorithms of solving tasks taking into
consideration the possibility of parallel data processing performed by several processors simultaneously. It is also important to
distribute calculations in such a way that each processor be used most fully and the total time of solving a task tend to minimum.
The article gives a review of the methods of estimating the minimum time of executing tasks at their optimal distribution
among computational nodes. Situations are taken into account when several parallel tasks are executed on one system taking
some resources of computational nodes. In this case the system is considered heterogeneous (anisotropic) in relation to the
program we're interested in.
2. 1. Independent calculations of equal difficulty on homogeneous computational nodes
Suppose we have N independent calculations of equal difficulty. We need to distribute them among P processors which
have equal computational power (figure 1).
The natural solution of this task is assigning
P
N
calculations to each processor.
1 2 3 4 5 6 7 8 9 10
Processor 1 Processor 3Processor 2
Calculations
11
Figure 1. Distribution of independent calculations of equal difficulty on homogeneous computational nodes.
But this solution is proper only in that case if N contains P 0mod PN . Otherwise there remain from 1 to 1P non-
assigned calculations. It will be a mistake to assign all the remaining calculations to one processor as in this case the time of
termination of all the calculations will equal PN
P
N
mod . It is better to distribute the remaining calculations by one for each of
PN mod processors. In this case the time of termination of all the calculations will equal 1
P
N
. It is obvious that
PN
P
N
P
N
mod1 , that's why the second method can be much better.
3. 2. Independent calculations of equal difficulty on heterogeneous computational nodes
Suppose we have N independent calculations of equal difficulty. We need to distribute them among P processors which
have different computational powers Pipi ,1, (figure 2).
1 2 3 4 5 6 7 8 9 10
Processor 1 Processor 2
Calculations
11
Figure 2. Distribution of independent calculations of equal difficulty on heterogeneous nodes.
The time the processor with computational power ip spends on executing one calculation equals
ip
1
. Thus, we need to split
the calculations into P groups with Pini ,1, calculations in each so that the time of termination of all the calculations be
minimum, i.e.:
Nn
p
n
P
i
i
i
i
Pi
1
,1
min,max
4. 3. Independent calculations of different difficulty on homogeneous computational nodes
Suppose we have N independent calculations of different difficulty Nici ,1, . We need to distribute them among P
processors which have equal computational power (figure 3).
1 2 3 4 5 6 7 8 9 10
Processor 1 Processor 3Processor 2
Calculations
11
Figure 3. Distribution of independent calculations of different difficulty on homogeneous computational nodes.
For the minimum time of termination of all the calculations it is necessary that all P processors be loaded most evenly, that
is all the processors should be assigned calculations of approximately equal sizes.
Thus, the task comes to the following: it is necessary to split the calculations into P groups with in calculations in each
Pi ,1 , so that:
minmax
1
,1
in
j
ij
Pi
c ,
where ijc — difficulty of j-calculation in in -group.
5. 4. Independent calculations of different difficulty on heterogeneous computational nodes
Suppose we have N independent calculations of different difficulty Nici ,1, . We need to distribute them among P
processors which have different computational powers Pipi ,1, (figure 4).
Processor 1 Processor 2
Calculations
1 2 3 4 5 6 7 8 9 10 11
Figure 4. Distribution of independent calculations of different difficulty on heterogeneous computational nodes.
The time the processor with computational power ip spends on executing one calculation with difficulty jc equals
i
j
p
c
.
For the minimum time of termination of all the calculations it is necessary that all the processors end calculations
approximately at the same time.
Thus, the task comes to the following: it is necessary to split the calculations into P groups with in calculations in each
Pi ,1 , so that:
minmax
1
,1
i
n
j
ij
Pi p
c
i
,
where ijc — difficulty of j-calculation in in -group.
6. 5. Dependent calculations of equal difficulty on homogeneous computational nodes
Suppose we have N dependent calculations so that calculation of k-step for i-calculation demands the result of k-step for
1i -calculation, i.e. 1 ifgif kk . Suppose also we have P processors which have equal computational power. Such
calculations can be performed simultaneously if we split all the calculations into P groups in each of which calculations are
performed sequentially and in the same order as the source calculations.
There are no illustrations to this section and further text because it is difficult to make them clear.
The task of distributing calculations among processors in this case can be formulated as follows: an ordered set of
calculations C should be split into P non-overlapping ordered subsets ic preserving the sequence of elements in such a way that:
minmax 1
1,1
ii
Pi
cc ,
where ic — power of ic subset.
6. Dependent calculations of equal difficulty on heterogeneous computational nodes
Suppose we have N dependent calculations so that calculation of k-step for i-calculation demands the result of k-step for
1i -calculation, i.e. 1 ifgif kk . Suppose also we have P processors which have different computational powers
Pipi ,1, .
The task of distributing calculations among processors in this case can be formulated as follows:
An ordered set of calculations C should be split into P non-overlapping ordered subsets ic preserving the sequence of
elements in such a way that:
minmax
1
1
1,1
i
i
i
i
Pi p
c
p
c
,
where ic — power of ic subset. That is, the maximum difference in time of performing calculations in neighboring subsets must
be minimum.
7. 7. Dependent calculations of different difficulty on homogeneous computational nodes
Suppose we have N dependent calculations so that calculation of k-step for i-calculation demands the result of k-step for
1i -calculation, i.e. 1 ifgif kk . Each calculation is correlated with its difficulty iw . Suppose also we have P processors
which have equal computational powers.
The task of distributing calculations among processors in this case can be formulated as follows:
An ordered set of calculations C should be split into P non-overlapping ordered subsets ic preserving the sequence of
elements in such a way that:
minmax
1
1,1
ii cj
j
cj
j
Pi
ww ,
where icj
jw — difficulty of calculations making part of ic subset.
8. Dependent calculations of different difficulty on heterogeneous nodes
Suppose we have N dependent calculations so that calculation of k-step for i-calculation demands the result of k-step for
1i -calculation, i.e. 1 ifgif kk . Each calculation is correlated with its difficulty iw .
Suppose also we have P processors which have different computational powers Pipi ,1, .
The task of distributing calculations among processors in this case is formulated as follows: an ordered set of calculations
C should be split into P non-overlapping ordered subsets ic preserving the sequence of elements in such a way that:
minmax
1
1,1
1
i
cj
j
i
cj
j
Pi p
w
p
w
ii
where icj
jw — difficulty of calculations making part of ic subset.
8. Additional sources:
1. M.V. Yakobovskiy, S.A. Sukov. Dynamic load balancing // Materials of the conference "High-performance calculations
and their applications", Chernogolovka, 2000, pp. 34-39.
2. V.P. Ivannikov, N.S. Kovalevskiy, V.M. Metelskiy. Of minimum time of implementing competitive processes in
synchronous operations. // Programming. 2000, № 5, pp. 44-52.
3. E. Tanenbaum. Distributed systems. Principles and paradigms. - St. Petersburg: Piter, 2003. - pp. 877.
4. A.A. Bukatov, V.N. Datsuk, A.I. Zhegulo. Programming of multi-processor computer systems. Rostov-on-Don. Publishing
House OOO "VCRU", 2003, pp. 208.
5. S.A. Nemnyugin, O.L. Stesik. Parallel programming for multi-processor computer systems. - St. Petersburg: BHV-
Peterburg, 2002. - pp. 400.
About the Author
Andrey Nikolaevich Karpov, http://www.viva64.com
Develops program solutions in the sphere of resource-intensive applications' quality and performance increase. One of the
developers of Viva64 static analyzer for verifying 64-bit software. Participates in developing VivaCore open library for working
with C/C++ code.