The document discusses identifying the benefits of multithreading, which includes performing multiple tasks in parallel, better utilization of system resources, and increasing application speed. It also covers designing applications using threads by assigning different threads to different functions to improve functionality and performance. Finally, it discusses complexities that can arise with multithreaded applications like race conditions, critical regions, mutual exclusion, synchronization, and deadlocks.
SCADA viết tắt của Supervisory Control And Data Acquisition là một hệ thống điều khiển giám sát và thu thập dữ liệu, nói một cách khác là một hệ thống hỗ trợ con người trong việc giám sát và điều khiển từ xa, ở cấp cao hơn hệ điều khiển tự động thông thường. Để có thể điều khiển và giám sát từ xa thì hệ SCADA phải có hệ thống truy cập, truyền tải dữ liệu cũng như hệ dao diện người- máy (HMI- Human Machine Interface).
Antivirus Scanning Performance and System Resource Utilization ComparisonGFI Software
IT system administrators need to balance the security requirements of the enterprise with usability of PCs. As the threat landscape evolves, PC security solutions have become resource hungry to the point that the PC becomes unusable during periods of security scanning. Tests show that VIPRE Business endpoint security solution offers better scanning performance with minimal system resource usage.
Introduce F9 microkernel, new open source implementation built from scratch, which deploys modern kernel techniques, derived from L4 microkernel designs, to deep embedded devices.
:: https://github.com/f9micro
Characteristics of F9 microkernel
– Efficiency: performance + power consumption
– Security: memory protection + isolated execution
– Flexible development environment
This paper is a technology preview that describes a new hardware-based capability known as Intel® Virtual Machine Control Structure (Intel® VMCS) Shadowing, which will be available with 4th generation Intel® CoreTM vProTM processor and describes the hardware-assisted security provided by XenClient, Deep Defender. Intel VMCS Shadowing can enable faster performance for multi-VMM usage models. Both Citrix and McAfee are evaluating this capability for inclusion in future product releases.
CyberLab Training Division :
Intel VTune Amplifier is a commercial application for software performance analysis for 32 and 64-bit x86 based machines, and has both GUI and command line interfaces. It is available for both Linux and Microsoft Windows operating systems. Although basic features work on both Intel and AMD hardware, advanced hardware-based sampling requires an Intel-manufactured CPU.
Whether you are tuning for the first time or doing advanced performance optimization, Intel® VTune Amplifier provides a rich set of performance insight into CPU & GPU performance, threading performance & scalability, bandwidth, caching and much more. Analysis is faster and easier because VTune Amplifier understands common threading models and presents information at a higher level that is easier to interpret. Use its powerful analysis to sort, filter and visualize results on the timeline and on your source.
It is available as part of Intel Parallel Studio or as a stand-alone product.
VTune Amplifier assists in various kinds of code profiling including stack sampling, thread profiling and hardware event sampling. The profiler result consists of details such as time spent in each sub routine which can be drilled down to the instruction level. The time taken by the instructions are indicative of any stalls in the pipeline during instruction execution. The tool can be also used to analyze thread performance. The new GUI can filter data based on a selection in the timeline.
For More Details.
Visit: http://www.cyberlabzone.com
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingIntel® Software
Discover, extend, and modernize your current development approach for hetergeneous compute with standards-based OpenFabrics Interfaces* (OFI), message passing interface (MPI), and OpenMP* programming methods on Intel® Xeon Phi™ processors.
SCADA viết tắt của Supervisory Control And Data Acquisition là một hệ thống điều khiển giám sát và thu thập dữ liệu, nói một cách khác là một hệ thống hỗ trợ con người trong việc giám sát và điều khiển từ xa, ở cấp cao hơn hệ điều khiển tự động thông thường. Để có thể điều khiển và giám sát từ xa thì hệ SCADA phải có hệ thống truy cập, truyền tải dữ liệu cũng như hệ dao diện người- máy (HMI- Human Machine Interface).
Antivirus Scanning Performance and System Resource Utilization ComparisonGFI Software
IT system administrators need to balance the security requirements of the enterprise with usability of PCs. As the threat landscape evolves, PC security solutions have become resource hungry to the point that the PC becomes unusable during periods of security scanning. Tests show that VIPRE Business endpoint security solution offers better scanning performance with minimal system resource usage.
Introduce F9 microkernel, new open source implementation built from scratch, which deploys modern kernel techniques, derived from L4 microkernel designs, to deep embedded devices.
:: https://github.com/f9micro
Characteristics of F9 microkernel
– Efficiency: performance + power consumption
– Security: memory protection + isolated execution
– Flexible development environment
This paper is a technology preview that describes a new hardware-based capability known as Intel® Virtual Machine Control Structure (Intel® VMCS) Shadowing, which will be available with 4th generation Intel® CoreTM vProTM processor and describes the hardware-assisted security provided by XenClient, Deep Defender. Intel VMCS Shadowing can enable faster performance for multi-VMM usage models. Both Citrix and McAfee are evaluating this capability for inclusion in future product releases.
CyberLab Training Division :
Intel VTune Amplifier is a commercial application for software performance analysis for 32 and 64-bit x86 based machines, and has both GUI and command line interfaces. It is available for both Linux and Microsoft Windows operating systems. Although basic features work on both Intel and AMD hardware, advanced hardware-based sampling requires an Intel-manufactured CPU.
Whether you are tuning for the first time or doing advanced performance optimization, Intel® VTune Amplifier provides a rich set of performance insight into CPU & GPU performance, threading performance & scalability, bandwidth, caching and much more. Analysis is faster and easier because VTune Amplifier understands common threading models and presents information at a higher level that is easier to interpret. Use its powerful analysis to sort, filter and visualize results on the timeline and on your source.
It is available as part of Intel Parallel Studio or as a stand-alone product.
VTune Amplifier assists in various kinds of code profiling including stack sampling, thread profiling and hardware event sampling. The profiler result consists of details such as time spent in each sub routine which can be drilled down to the instruction level. The time taken by the instructions are indicative of any stalls in the pipeline during instruction execution. The tool can be also used to analyze thread performance. The new GUI can filter data based on a selection in the timeline.
For More Details.
Visit: http://www.cyberlabzone.com
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingIntel® Software
Discover, extend, and modernize your current development approach for hetergeneous compute with standards-based OpenFabrics Interfaces* (OFI), message passing interface (MPI), and OpenMP* programming methods on Intel® Xeon Phi™ processors.
Faster deep learning solutions from training to inference - Michele Tameni - ...Codemotion
Intel Deep Learning SDK enables using of optimized open source deep-learning frameworks, including Caffe and TensorFlow through a step-by-step wizard or iPython interactive notebooks. It includes easy and fast installation of all depended libraries and advanced tools for easy data pre-processing and model training, optimization and deployment, providing an end-to-end solution to the problem. In addition, it supports scale-out on multiple computers for training, as well as using compression methods for deployment of the models on various platforms, addressing memory and speed constraints.
This white paper addresses the new challenges in software protection for the .NET Framework in addition to providing a variety means for protecting your applications.
Anti Key Logging and Real Time Encryption software for protection of computers from hacking by key recording software. See More At: http://www.greymatterindia.com/software-for-real-time-encryption-and-anti-key-logging
CPU emulation has been used over the years for a multitude of objectives. It allows an application compiled for a specific target platform to be run on a host platform with a completely different or overlapping architecture set.
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS MOHAMMED FURQHAN
Computers themselves, and software yet to be developed, will revolutionize the way we learn. ... However, embedded systems and IoT devices have some unique ... provided by a layer of stack layer,firmware using tables and runtime services, but this ... to study before you are fully committed to an open source project.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
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.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
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
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
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.
The Art of the Pitch: WordPress Relationships and Sales
09 intel v_tune_session_13
1. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Objectives
In this session, you will learn to:
Identify the benefits of multithreading
Design applications using threads
Ver. 1.0 Slide 1 of 17
2. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Identifying the Benefits of Multithreading
Multithreading increases the performance of your
application by:
Performing multiple tasks in parallel
Better utilization of system resources
Increasing the speed of your application
Ver. 1.0 Slide 2 of 17
3. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Identifying the Benefits of Multithreading (Contd.)
Thread is a sequential flow of control within a program.
It is a sequence of instructions executed within a program.
Every program consists of at least one thread, called the
main thread.
The main thread is responsible for initializing the programs.
Ver. 1.0 Slide 3 of 17
4. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Just a minute
What is a thread?
Answer:
A thread is a sequential flow of control within a program.
Ver. 1.0 Slide 4 of 17
5. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Identifying the Benefits of Multithreading (Contd.)
The main benefits of threads are:
Increased performance
Better resource utilization
Simpler communication
Ver. 1.0 Slide 5 of 17
6. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Identifying the Benefits of Multithreading (Contd.)
The two inherent conditions of a multithreaded application
are:
► Concurrency Concurrency refers to a situation in
which one or more threads are in
► Parallelism Parallelism refers to the simultaneous
progress simultaneously.
execution of multiple tasks.
In this case, the processor switches
In a multithreaded application, which is
from one thread to another during the
running onof the application. system,
execution a multiprocessor
threads execute in parallel.
Ver. 1.0 Slide 6 of 17
7. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Designing Applications Using Threads
The best time for threading an application is during its
design phase.
During the design phase, you can accommodate all the data
and code restructuring related to threading.
This reduces the overall effort during the application
development.
A program comprising of multiple independent activities can
be redesigned in such a manner so that each activity can
be defined as a separate thread.
This enables you to decompose your work into simple
independent activities and improve the functionality and
performance of your application.
Ver. 1.0 Slide 7 of 17
8. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Designing Applications Using Threads (Contd.)
You can improve the functionality of your application by
assigning different threads to different functions of the
application.
By assigning a separate thread to each function, all the
functions can execute independent of each other.
This approach makes the application more efficient because
threading is easier than switching functions within a serial
code.
Ver. 1.0 Slide 8 of 17
9. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Designing Applications Using Threads (Contd.)
Performance of an application depends upon the
combination of various factors such as speed and utilization
of system resources.
A multithreaded application running on a single processor
system leads to a better utilization of system resources.
A multithreaded application running on a multiprocessor
system leads to better utilization of system resources and
increased speed of the application.
Ver. 1.0 Slide 9 of 17
10. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Just a minute
How does the use of threads improve the functionality of an
application?
Answer:
Threads improve the functionality of an application by
assigning different threads to different functions. This makes it
easier to control the execution of multiple functions within an
application.
Ver. 1.0 Slide 10 of 17
11. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Designing Applications Using Threads (Contd.)
Data decomposition refers to the process of:
Breaking down a program into logical chunks or individual
tasks.
Identifying the dependencies between the tasks.
The two types of decomposition methods are:
► Task decomposition It refers to the process of decomposing
a program on the basis of the functions
► Data decomposition It performs. process of decomposing
it refers to the
an application in such a way so that the
It is also known as functional
same operation is performed
decomposition.
repeatedly for different data.
In this case, you can assign separate
threads to the independent functions in
your program.
Ver. 1.0 Slide 11 of 17
12. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Identifying the Complexities Involved in Multithreaded Applications
In a multithreaded application, you need to take care of
various complexities, which may arise during thread
interaction. These complexities are:
► Race conditions Race conditions occur when the output
of the program depends upon which
► Critical region Critical region refers to those portions
thread reaches a particular block of
of your application that access shared
► Mutual exclusion code first.
Mutual exclusion allows only one
variables.
thread to be executingto different
Race conditions lead in a critical
► Synchronization Synchronization controls the relative
region at a given time.
results every time a program is
order of thread execution and resolves
► Deadlocks executed. refersis executing the code
When a thread to a threads. in which
Deadlock
any conflicts among situation
that accesses a shared resource in a
a thread waits for abased on the can
Synchronization is condition that
criticaloccur. any other thread that
never region,
concept of monitoring.
might desire entry to the critical region
Deadlock halts the execution of your
must wait to access that region.
application preventing it to continue
further.
Ver. 1.0 Slide 12 of 17
13. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Just a minute
List the complexities involved in a multithreaded application.
Answer:
The complexities involved in a multithreaded application are as
follows:
Race conditions
Critical region
Mutual exclusion
Synchronization
Deadlocks
Ver. 1.0 Slide 13 of 17
14. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Activity: Analyzing the Processor Activity During Deadlock
Problem Statement:
John has developed a code in C# in which he acquires a lock
on two resources. However on execution, the application
comes to a halt after some time. He wants to analyze the
processor utilization on his system using the counter monitor
feature of VTune. Help John to accomplish his task.
Ver. 1.0 Slide 14 of 17
15. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Activity: Analyzing the Processor Activity During Deadlock (Contd.)
Solution
To analyze the performance of the application, you need to
perform the following tasks:
1. Configure counter monitor using the counter monitor configuration
wizard.
2. Analyze the processor utilization on the system.
Ver. 1.0 Slide 15 of 17
16. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Summary
In this session, you learned that:
You can improve the speed of your application to a great
extent by using multiple threads in your application.
A thread is a sequential flow of control within a program.
The main benefits of threads are as follows:
• Increased performance
• Better resource utilization
• Simpler communication
• In a multithreaded application, threads run concurrently or in
parallel.
• You can improve the functionality of your application by
assigning different threads to different functions of the
application. These functions may or may not be dependant on
each other.
Ver. 1.0 Slide 16 of 17
17. Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation
Summary (Contd.)
The threads enable you to improve the performance of your
application.
The process of breaking down a program into logical chunks or
individual tasks and identifying the dependencies between
them is referred to as decomposition.
In a multithreaded application, you need to take care of various
complexities that may arise during thread interaction. These
complexities are as follows:
Race condition
Critical region
Mutual exclusion
Synchronization
Deadlock
Ver. 1.0 Slide 17 of 17
Editor's Notes
Begin the session by sharing the objectives with the students.
Begin the session by sharing the objectives with the students.
Explain the matrix multiplication example in which every element can computed separately by a thread. Also tell the students that improper use of threads can degrade the performance of the application.
Initiate a discussion on the benefits of threads. Tell the students that at a time, the processor can execute only one thread. Next, discuss the concept of time slicing in a threaded application. Explain the concept of time slicing by giving the example of a gaming application as given in the SG. Tell the students that implementing time slicing in a threaded application keeps the processor busy. It gives an impression as if multiple threads are running at the same time.
Discuss the concept of concurrency and parallelism in a threaded application. Tell the students that on a single processor system, threads run concurrently and in a multiprocessor system, threads can run concurrently as well as parallely.
Tell the students that design phase of an application is the best time to incorporate multithreading. This reduces the overall effort in application development process.
Explain the students that a multithreaded application improves the functionality of an application by assigning threads to different functions in the application. You can explain the concept with the help of an example of the Outlook window given in the SG.
Explain that the performance of a multithreaded application varies on a single processor and multiprocessor system. Refer to the SG for the same. Next, explain the students that performance of an application also depends upon various other factors. This may include the way files and databases have been organized. Refer to the SG for the same.
Explain the concept of decomposition of work in an application. Next, explain task decomposition and data decomposition. Refer to the examples given in the SG relating to task and data decomposition.
Initiate a discussion on various complexities involved in a multithreaded application. Ask the students to think of some complexities involved in a multithreaded application. Next, explain various complexities given in the slide. Explain each complexity by giving an example. Refer to the SG for the same.
To demonstrate this activity, you can use the data files provided at the following locations: TIRM Datafiles for Faculty Chapter06 Activity01 Deadlock.zip Deadlock.zip file contains the optimized and the unoptimized codes. The faculty should first show the demonstration of the unoptimized code. After analyzing the processor activity, the faculty should again run the activity using the optimized code. This would enable the students comparing the results between the optimized and the unoptimized code.