0% found this document useful (0 votes)
79 views10 pages

Concurrency and Resource Management

Uploaded by

Tejasree M.S.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views10 pages

Concurrency and Resource Management

Uploaded by

Tejasree M.S.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

CONCURRENCY AND RESOURCE

MANAGEMENT
CONCURRENCY
-----------------------------------------------------------------------------------------------

What do we mean by concurrency in a mobile computing


environment?
It describes how many instruction sequences are carried out simultaneously. This
happens when several process threads are running in the background of an operating
system. Message passing or shared memory are two ways these threads might
communicate with one another. Sharing resources as a result of concurrency leads to
problems like resource scarcity and deadlocks. To increase throughput, it helps with
strategies like task allocation, memory management, and execution scheduling.
*Throughput is a measure of how many units of information a system can process in a given
amount of time.
PRINCIPLES OF CONCURRENCY
-------------------------------------------------------------------------------------
----------
Today's technology, like multi-core processors and parallel processing, allows multiple
processes and threads to be executed simultaneously. Multiple processes and threads
can access the same memory space, the same declared variable in code, or even read
or write to the same file.The amount of time it takes a process to execute cannot be
simply estimated, and you cannot predict which process will complete first, enabling you
to build techniques to deal with the problems that concurrency creates.
Interleaved and overlapping processes are two types of concurrent processes with the same
problems. It is impossible to predict the relative speed of execution, and the following factors
determine it:

1. The way operating system handles interrupts


2. Other processes' activities
3. The operating system's scheduling policies
PROBLEMS IN CONCURRENCY
--------------------------------------------------------------------------------------
---------
1. Locating the programming errors
It's difficult to spot a programming error because reports are usually repeatable due to
the varying states of shared components each time the code is executed.
2. Sharing Global Resources
Sharing global resources is difficult. If two processes utilize a global variable and both
alter the variable's value, the order in which the many changes are executed is critical.
3. Locking the channel
It could be inefficient for the OS to lock the resource and prevent other processes from
using it.
4. Optimal Allocation of Resources
It is challenging for the OS to handle resource allocation properly.
-----------------------------------------------------------------------------------------
----------
5. Non-atomic- Operations that are non-atomic but interruptible by several processes may
occur. A non-atomic operation depends on other processes, and an atomic operation runs
independently of other processes.

6. Deadlock- In concurrent computing, it occurs when one group member waits for another
member, including itself, to send a message and release a lock. Software and hardware locks
are commonly used to arbitrate shared resources and implement process synchronization in
parallel computing, distributed systems, and multiprocessing.

7. Blocking- A blocked process is waiting for some event, like the availability of a resource or
completing an I/O operation. Processes may block waiting for resources, and a process may be
blocked for a long time waiting for terminal input. If the process is needed to update some data
periodically, it will be very undesirable.

8. Race Conditions- A race problem occurs when the output of a software application is
determined by the timing or sequencing of other uncontrollable events. Race situations can also
ADVANTAGES AND DISADVANTAGES OF
------------------------------------------------------------------------------------
CONCURRENCY
--------------Advantages
1. Better Performance- It improves the operating system's performance. When one application
only utilizes the processor, and another only uses the disk drive, the time it takes to perform both
apps simultaneously is less than the time it takes to run them sequentially.
2. Better Resource Utilization- It enables resources that are not being used by one application
to be used by another.
3. Running Multiple Applications- It enables you to execute multiple applications
simultaneously.

Disadvantages

1. It is necessary to protect multiple applications from each other.


2. It is necessary to use extra techniques to coordinate several applications.
3. Additional performance overheads and complexities in OS are needed for switching between
applications.
RESOURCE MANAGEMENT

What is resource management?


Resource management is the process of
planning, scheduling, and allocating
organisational resources in the best way
possible to maximise the value and
potential of your resources.
IMPORTANCE OF RESOURCE MANAGEMENT

Resource management is all about transparency so you can see, monitor, and attain
what is required to deliver projects. It also enables you to minimize both idle time and
overutilization of resources. With full visibility both work and resources, you can more
effectively schedule, plan, and manage your resources, aligning them with the right
projects at the right time.

It is easy to see the importance of resource management by understanding the


disadvantage of not having it. Without the right data, resource managers have little
control over their projects and no way of understanding specialized skills.
RESOURCE MANAGEMENT TECHNIQUES

Resource Allocation

Resource allocation involves more than just assigning resources to projects. It considers the
skills your team brings to the table along with their availability. Allocation reports will enable
you to filter resources by skills and capacity so you can not only see who is available now but
also when certain skills will be available in the future for better planning and fewer delays.

Resource Utilization

Resource utilization is a resource management technique that enables you to gain visibility into
the capacity of your team over a period of time and identify whether resources are being over
or underutilized. This is critical because studies show that resources who are overutilized
frequently experience burnout. Utilization reports reveal where resources are spending their
time so you can see if there are opportunities to improve their effectiveness, productivity, and
performance while keeping their workloads manageable.
RESOURCE MANAGEMENT TECHNIQUES

Resource Leveling

Resource leveling is used to balance demand and supply. It is an important process to maximize
resources across one or more projects based on their skills, getting the most value out of the
resources you already have. The goal of this resource management technique is to understand all of
the skills you have and where they may be able to fill gaps so you can minimize your resource spend.

Resource Forecasting

As important as resource management is to ensure current projects run smoothly with the
appropriate resources, the real benefit comes with being able to plan ahead to keep resources
balanced across current and future projects. You must know current capacity, as well as upcoming
projects and their requirements. Resource forecasting enables you to make predictions, identify
potential conflicts, and prioritize resources on a timeline.

You might also like