Concurrency and Resource Management
Concurrency and Resource Management
MANAGEMENT
CONCURRENCY
-----------------------------------------------------------------------------------------------
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
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.
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.