You are on page 1of 4

Reference No: KLL-FO-ACAD-000 | Effectivity Date: August 3, 2020 | Revisions No.

: 00

VISION MISSION
A center of human development committed to the pursuit of wisdom, truth, Establish and maintain an academic environment promoting the pursuit of
justice, pride, dignity, and local/global competitiveness via a quality but excellence and the total development of its students as human beings,
affordable education for all qualified clients. with fear of God and love of country and fellowmen.

GOALS
Kolehiyo ng Lungsod ng Lipa aims to:
foster the spiritual, intellectual, social, moral, and creative life of its client via affordable but quality tertiary education;
provide the clients with reach and substantial, relevant, wide range of academic disciplines, expose them to varied curricular and co-
curricular experiences which nurture and enhance their personal dedications and commitments to social, moral, cultural, and economic
transformations.
work with the government and the community and the pursuit of achieving national developmental goals; and
develop deserving and qualified clients with different skills of life existence and prepare them for local and global competitiveness

PARALLEL FUNDAMENTAL CONCEPTS

Parallel computing is a type of computation in which many calculations are carried out
simultaneously. This is in contrast to sequential computing, in which calculations are carried out
one after the other. Parallel computing is used in a wide variety of applications, including
scientific computing, image processing, and financial modeling.

There are two main types of parallel computing:

 Shared memory parallelism: In shared memory parallelism, all of the processors have
access to the same memory. This is the most common type of parallelism on modern
computers, as most CPUs have multiple cores.
 Distributed memory parallelism: In distributed memory parallelism, each processor has its
own memory. The processors must communicate with each other in order to share data.
This type of parallelism is often used in high-performance computing clusters.

There are two main ways to parallelize a program:

 Data parallelism: In data parallelism, the same operation is performed on different parts of
the data set. For example, if you are sorting a list of numbers, you could split the list into
two parts and sort each part in parallel.
 Task parallelism: In task parallelism, different tasks are performed in parallel. For example,
if you are rendering a video, you could split the rendering task into smaller tasks and
render each part in parallel.

Marawoy, Lipa City, Batangas 4217 | https://www.facebook.com/KLLOfficial/


Here are some other important concepts and terminology in parallel computing:

 Granularity: The granularity of a parallel program refers to the size of the tasks that are
executed in parallel. Fine-grained parallelism involves many small tasks, while coarse-
grained parallelism involves a few large tasks.
 Load balancing: Load balancing is the process of distributing the workload evenly across
the processors. This is important for achieving good performance.
 Synchronization: Synchronization ensures that the different parts of a parallel program
execute in the correct order. This is necessary to prevent errors.
 Amdahl's law: Amdahl's law states that the maximum speedup that can be achieved by
parallelizing a program is limited by the fraction of the program that cannot be parallelized.

Parallel computing is a complex topic, but these are some fundamental concepts you need to
know to get started.

CONCURRENCY AND PARALLEL EXECUTION

Concurrency and parallel execution are two closely related concepts in computer science.
Concurrency refers to the ability of a system to handle multiple tasks at the same time. Parallel
execution refers to the actual execution of multiple tasks simultaneously.

In a concurrent system, multiple tasks may be executed at the same time, but they may not be
executed simultaneously. For example, a concurrent operating system may allow multiple users
to be logged in and running programs at the same time. However, the operating system may only
be able to run one program at a time on the CPU. This means that the tasks may need to take
turns running on the CPU.

Parallel execution refers to the actual execution of multiple tasks simultaneously. For example, a
multi-core CPU can execute multiple instructions simultaneously. This means that multiple tasks
can be running at the same time, without having to take turns.

Marawoy, Lipa City, Batangas 4217 | https://www.facebook.com/KLLOfficial/


Concurrency is often used to improve the performance of a system. For example, a concurrent
web server can handle multiple requests at the same time. This can improve the responsiveness
of the server and allow it to handle more requests overall.

Parallel execution can also be used to improve the performance of a system. However, it is
important to note that not all tasks can be parallelized. For example, a task that requires
sequential access to data cannot be parallelized.

Here is an example of the difference between concurrency and parallel execution:

 Concurrency: A web server is handling multiple requests at the same time. The server is
able to do this by switching between the different requests. This means that the requests
are not being executed simultaneously, but they are being handled concurrently.
 Parallel execution: A multi-core CPU is executing multiple instructions simultaneously.
This means that the instructions are being executed at the same time, on different cores.

Concurrency and parallel execution are two important concepts in computer science.
Understanding these concepts can help you to design and develop more efficient and responsive
systems.

LATENCY

Latency is the time it takes for data to travel from one point to another. It is often measured in
milliseconds (ms). Latency can be caused by a variety of factors, including the distance between
the two points, the type of network connection, and the load on the network.

Latency is an important factor to consider when designing and using applications. For example, a
low-latency application is necessary for real-time communication, such as online gaming and
video conferencing. A high-latency application can be frustrating for users, as it can cause delays
in the response time of the application.

Here are some examples of latency:

Marawoy, Lipa City, Batangas 4217 | https://www.facebook.com/KLLOfficial/


 The time it takes for a web page to load

 The time it takes for a video to start playing

 The time it takes for a file to download

 The time it takes for a multiplayer game to respond to your input

There are a number of things that can be done to reduce latency, such as:

 Using a faster network connection

 Reducing the distance between the two points

 Reducing the load on the network

 Using a caching server

Latency is an important concept to understand when using and developing applications. By


understanding latency, you can design and use applications that are more efficient and
responsive.

Here is an example of how latency can affect the user experience of an application:

Imagine that you are playing a multiplayer game. If the latency is low, your input will be registered
quickly and the game will respond smoothly. However, if the latency is high, there will be a delay
between your input and the game's response. This can make the game difficult to play and
frustrating for the user.

Latency is an important factor to consider when designing and using applications, especially
those that require real-time interaction.

Marawoy, Lipa City, Batangas 4217 | https://www.facebook.com/KLLOfficial/

You might also like