PARALLEL COMPUTATION
Parallel
computation is one of the computer programming that allows to execute commands
simultaneously and concurrently in a single or multiple processors inside a
CPU. Parallel computation itself is useful to improve the performance of the
computer as more and more processes that can be done at the same time it will
be faster.
Parallel concept
The concept of parallel is a processors ability to perform a
task or multiple tasks simultaneously or concurrently, in other words, the
processor is able to perform one or many tasks at one time.
Distributed
Processing
Distributed processing is the process of parallel processing in
distributed parallel processing using multiple machines. So, it could be said
the ability of the computers that run simultaneously to solve a problem with
the process quickly.
Architectural Parallel
Computer
According to a Processor Designer, taxonomy Flynn, Computer
Architecture is divided into four sections.
1.
SISD (Single Instruction Single Data Stream)
The type of computer that only has one processor and one
instruction is executed serially.
2.
SIMD (Single Instruction Multiple Data Stream)
This type of computer that
has more than one processor, but this computer only executes one instruction in
parallel on different data in lock-step level.
3.
MISD (Multiple Instruction Single Data Stream)
This type of computer that
has one processor and execute multiple instructions in parallel but in practice
there is no computer that is built with this architecture because the system is
not easily understood, until now there has been no computers that use this type
of architecture
4.
MIMD (Multiple Instruction Multiple Data Stream)
This type of computer that has more than one processor and execute more
than one instruction in parallel. This type of computer that is most widely
used to build a parallel computer, even many supercomputer that implement this
architecture, because the models and concepts that are not too complicated to
understand.
Introduction to
Programming Thread
A thread in computer programming is a relevant information about
the use of a single program that can handle multiple users
simultaneously.Thread This allows the program to determine how the user entered
into the program in turn and the user will go back to using a different user.
Multiple threads can run concurrently with other processes divides the
resources into memory, while the other processes do not share it.
Introduction to
Programming CUDA GPU
GPU
Refers to a specific processor GPU to accelerate and change the memory to speed
up image processing. The GPU itself is usually located on the graphics card or
laptop computer
CUDA (Compute Unified Device Architecture) is a scheme created by
NVIDIA as the GPU (Graphic Processing Unit) capable of computing not only to
graphics processing, but also for general purposes. So with the CUDA we can
take advantage of multiple processors from NVIDIA to do the calculation process
much or computing.
REFFERENCE
>> http://uchaaii.blogspot.com/2013/07/parallel-computation.html
QUANTUM COMPUTING
Definition
A quantum computer is a computer design which uses the
principles of quantum physics to increase the computational
power beyond what is attainable by a traditional computer. Quantum computers
have been built on the small scale and work continues to upgrade them to more
practical models.
History of Quantum Computing
Quantum computing tends to trace its roots back
to a 1959 speech by Richard P. Feynman in which he spoke about the
effects of miniaturization, including the idea of exploiting quantum effects to
create more powerful computers. (This speech is also generally considered the
starting point of nanotechnology.)
Of course, before the quantum effects of computing could be
realized, scientists and engineers had to more fully develop the technology of
traditional computers. This is why, for many years, there was little direct
progress, nor even interest, in the idea of making Feynman's suggestions into
reality.
In 1985, the idea of "quantum logic gates" was put
forth by University of Oxford's David Deutsch, as a means of harnessing the
quantum realm inside a computer. In fact, Deutsch's paper on the subject showed
that any physical process could be modeled by a quantum computer.
Nearly a decade later, in 1994, AT&T's Peter Shor devised an
algorith that could use only 6 qubits to perform some basic factorizations ...
more cubits the more complex the numbers requiring factorization became, of
course.
A handful of quantum computers
have been built. The first, a 2-qubit quantum computer in 1998, could perform
trivial calculations before losing decoherence after a few nanoseconds. In
2000, teams successfully built both a 4-qubit and a 7-qubit quantum computer.
Research on the subject is still very active, although some physicists and
engineers express concerns over the difficulties involved in upscaling these
experiments to full-scale computing systems. Still, the success of these
initial steps do show that the fundamental theory is sound.
How a Quantum Computer Would Work
A quantum computer, on the other hand, would
store information as either a 1, 0, or a quantum superposition of the two
states. Such a "quantum bit," called a qubit, allows for
far greater flexibility than the binary system.
Specifically, a quantum computer
would be able to perform calculations on a far greater order of magnitude than
traditional computers ... a concept which has serious concerns and applications
in the realm of cryptography & encryption. Some fear that a successful
& practical quantum computer would devastate the world's financial system
by ripping through their computer security encryptions, which are based on
factoring large numbers that literally cannot be cracked by traditional
computers within the life span of the universe. A quantum computer, on the
other hand, could factor the numbers in a reasonable period of time.
Entanglement
Entanglement
is a term used in quantum theory to describe the way that particles of
energy/matter can become correlated to predictably interact with each
other regardless of how far apart they are.
Particles,
such as photons, electrons, or qubits that have interacted with each other
retain a type of connection and can be entangled with each other in pairs, in
the process known as correlation. Knowing the spin state of one entangled
particle - whether the direction of the spin is up or down - allows one to know
that the spin of its mate is in the opposite direction. Even more amazing is
the knowledge that, due to the phenomenon of superposition,
the measured particle has no single spin direction before being measured, but
is simultaneously in both a spin-up and spin-down state. The spin state of the
particle being measured is decided at the time of measurement and communicated
to the correlated particle, which simultaneously assumes the opposite spin
direction to that of the measured particle. Quantum entanglement allows qubits
that are separated by incredible distances to interact with each other
immediately, in a communication that is not limited to the speed of light. No
matter how great the distance between the correlated particles, they will
remain entangled as long as they are isolated.
Entanglement
is a real phenomenon (Einstein called it "spooky action at a
distance"), which has been demonstrated repeatedly through
experimentation. The mechanism behind it cannot, as yet, be fully explained by
any theory. One proposed theory suggests that all particles on earth were once
compacted tightly together and, as a consequence, maintain a connectedness.
Much current research is focusing on how to harness the potential of
entanglement in developing systems for quantum
cryptography and quantum computing.
QUBIT
a qubit or quantum
bit is a unit of quantum information—the quantum
analogue of the classical bit. A qubit is a two-state
quantum-mechanical system, such as the polarization of
a single photon: here the two states are vertical polarization and
horizontal polarization. In a classical system, a bit would have to be in
one state or the other, but quantum mechanics allows the qubit to be in a superposition of
both states at the same time, a property which is fundamental to quantum
computing.
Operations on pure qubit states
There
are various kinds of physical operations that can be performed on pure qubit
states
- A quantum logic
gate can operate on a qubit:
mathematically speaking, the qubit undergoes a unitary transformation. Unitary
transformations correspond to rotations of the qubit vector in the Bloch
sphere.
- Standard basis
measurement is an
operation in which information is gained about the state of the qubit. The
result of the measurement will be either ,with
probability , or , with
probability . Measurement of
the state of the qubit alters the values of α and β. For instance, if the result of the measurement is , α is changed to 1 (up to phase) and β is changed to 0. Note that a
measurement of a qubit state entangled with another quantum system transforms a
pure state into a mixed state.
Quantum Gate
quantum computing and specifically the quantum circuit model of computation, a quantum gate (or quantum
logic gate) is a basic quantum circuit operating on a small number of qubits.
They are the building blocks of quantum circuits, like classical logic gates are
for conventional digital circuits.
Unlike
many classical logic gates, quantum logic gates are reversible.
However, classical computing can be performed using only reversible gates. For
example, the reversibleToffoli gate can implement all Boolean functions.
This gate has a direct quantum equivalent, showing that quantum circuits can
perform all operations performed by classical circuits.
Quantum
logic gates are represented by unitary matrices. The most common quantum
gates operate on spaces of one or two qubits, just like the common classical
logic gates operate on one or two bits. This means that as matrices, quantum
gates can be described by 2 ×
2 or 4 × 4 unitary matrices.
·
Commonly used gates
- Hadamard gate
- Pauli-X gate
- Pauli-Y gate
- Pauli-Z gate
- Phase shift gates
- Swap gate
- Controlled gates
- Toffoli gate
- Fredkin gate
Shor's algorithm
named
after mathematician Peter Shor,
is a quantum
algorithm (an algorithm that runs on a quantum computer)
for integer factorization formulated in 1994. Informally it
solves the following problem: Given an integer N, find its prime factors.
On a
quantum computer, to factor an integer N,
Shor's algorithm runs in polynomial time (the time taken is polynomial in log N, which is the size of the
input). Specifically it takes time O((log N)3),
demonstrating that the integer factorization problem can be efficiently solved
on a quantum computer and is thus in the complexity class BQP. This is
substantially faster than the most efficient known classical factoring
algorithm, the general number field sieve, which works in sub-exponential time — aboutO(e1.9 (log
N)1/3 (log log N)2/3). The efficiency of Shor's algorithm is
due to the efficiency of the quantum Fourier transform, and modular exponentiation by repeated squaring
Shor's algorithm consists of
two parts:
1.
A reduction, which can be done on a classical computer, of the
factoring problem to the problem of order-finding.
2.
A quantum algorithm to solve the order-finding problem.
Classical part
1.
Pick a random number a < N.
2.
Compute gcd(a, N). This may be done using the Euclidean algorithm.
3.
If gcd(a, N)
≠ 1, then there is a nontrivial factor of N, so we are done.
4.
Otherwise, use the period-finding subroutine (below) to find r, the period of the following function:
5.
If r is odd, go back to step 1.
6.
If a r /2 ≡ −1 (mod N),
go back to step 1.
7.
gcd(ar/2 ± 1, N)
is a nontrivial factor of N.
We are done.
Explanation of the
algorithm
- Obtaining factors from period
- Finding the period
- The bottleneck
Reference :
CLOUD COMPUTING
Cloud computing is a type of computing that relies on sharing computing resources rather than having local servers or
personal devices to handle applications.
In cloud computing, the word cloud (also phrased as "the
cloud") is used as a metaphor for "the Internet,"
so the phrase cloud computing means "a type of Internet-based
computing," where different services — such
as servers, storage and applications —are delivered to an
organization's computers and devices through the Internet.
Cloud computing is comparable to grid computing,
a type of computing where unused processing cycles of all computers in a
network are harnesses to solve problems too intensive for any stand-alone
machine.
The world of the
cloud has lots of participants:
·
The
end user who doesn’t have to know anything about the underlying technology.
·
Business
management who needs to take responsibility for the governance of data or
services living in a cloud. Cloud service providers must provide a predictable
and guaranteed service level and security to all their constituents.
·
The
cloud service provider who is responsible for IT assets and maintenance.
Advantages of cloud computing
1. Worldwide
Access. Cloud computing
increases mobility, as you can access your documents from any device in any
part of the world. For businesses, this means that employees can work from home
or on business trips, without having to carry around documents. This increases
productivity and allows faster exchange of information. Employees can also work
on the same document without having to be in the same place.
2.
More
Storage. In the past,
memory was limited by the particular device in question. If you ran out of
memory, you would need a USB drive to backup your current device. Cloud
computing provides increased storage, so you won’t have to worry about running
out of space on your hard drive.
3.
Easy
Set-Up. You can set up
a cloud computing service in a matter of minutes. Adjusting your individual
settings, such as choosing a password or selecting which devices you want to
connect to the network, is similarly simple. After that, you can immediately
start using the resources, software, or information in question.
4.
Automatic
Updates. The cloud
computing provider is responsible for making sure that updates are available –
you just have to download them. This saves you time, and furthermore, you don’t
need to be an expert to update your device; the cloud computing provider will
automatically notify you and provide you with instructions.
5.
Reduced
Cost. Cloud computing
is often inexpensive. The software is already installed online, so you won’t
need to install it yourself. There are numerous cloud computing applications
available for free, such as Dropbox,
and increasing storage size and memory is affordable. If you need to pay for a
cloud computing service, it is paid for incrementally on a monthly or yearly
basis. By choosing a plan that has no contract, you can terminate your use of
the services at any time; therefore, you only pay for the services when you
need them
The working principle of cloud computing
The principle of
cloud computing is almost same with another computer, just the different of that is in cloud
computing, is coupled with another present computer. In regular computer, file from software when
we used is stored in hardisk or another storage media. But on computer clouds
if viewed from the side of the user, the files from software we use is in
another computer.
In other words we
are connected to multiple computers on a network server, but the data we store
it was in the data center or in center, so that not only we can open the file
that we save but computers or other users can open it and vice versa (Public).
Also in a lot of infrastructure servers that we can use and we only pay as
needed.
1. On-demand self-service. This means provisioning or de-provisioning computing resources as
needed in an automated fashion without human intervention. An analogy to this
is electricity as a utility where a consumer can turn on or off a switch
on-demand to use as much electricity as required.
2. Ubiquitous network access. This means that computing facilities can be accessed from anywhere
over the network using any sort of thin or thick clients (for example
smartphones, tablets, laptops, personal computers and so on).
3. Resource pooling. This means that computing resources are pooled to meet the demand
of the consumers so that resources (physical or virtual) can be dynamically
assigned, reassigned or de-allocated as per the requirement. Generally the
consumers are not aware of the exact location of computing resources. However,
they may be able to specify location (country, city, region and the like) for
their need. For example, I as a consumer might want to host my services with a
cloud provider that has cloud data centers within the boundaries of Australia.
4. Rapid elasticity. Cloud computing provides an illusion of infinite computing
resources to the users. In cloud models, resources can be elastically
provisioned or released according to demand. For example, my cloud-based online
services should be able to handle a sudden peak in traffic demand by expanding
the resources elastically. When the peak subsides, unnecessary resources can be
released automatically.
5. Measured service. This means that consumers only pay for the computing resources
they have used. This concept is similar to utilities like water or electricity.
SECURITY
Security. When using a cloud computing
service, you are essentially handing over your data to a third party. The fact
that the entity, as well as users from all over the world, are accessing the
same server can cause a security issue. Companies handling confidential
information might be particularly concerned about using cloud computing, as
data could possibly be harmed by viruses and other malware. That said, some
servers like Google Cloud Connect come with customizable spam filtering, email
encryption, and SSL enforcement for secure HTTPS access, among other
security measures.
The biggest question most
have with Cloud Computing is will it be Safe? The answer is “NO” Reason why is everything that Cloud Computing
is based on is mechanical, although it seems virtual. The Safety of the data
(information), is only as Safe as the will and determination of the individual
that wants to have at it.
THE
CONCEPT OF CLOUD COMPUTING
The first building block is the
infrastructure where the cloud will be implemented. Some people make the
assumption that environment should be virtualized, but as cloud is a way to
request resources in an on-demand way and if you have solutions to
provide on bare metal, then why not? The infrastructure will support the
different types of cloud (IaaS, PaaS, SaaS, BPaaS).
To be able to provide these
services you will need Operating System Services (OSS), which will be in charge
of deploying the requested service, and Business System Services (BSS), mainly
used to validate the request and create the invoice for the requested services.
Any metrics could be used to create the invoice (for example, number of users,
number of CPUs, memory, usage hours/month). It is very flexible and depends on
the service provider.
A cloud computing environment will
also need to provide interfaces and tools for the service creators and users.
This is the role of the Cloud Service Creator and Cloud Service Consumer
components.
Now,
let’s see how it works in reality.
Generally, you log in to a portal
(enterprise or public wise) and you order your services through the Cloud
Service Consumer. This service has been created by the cloud service provider
and can be a simple virtual machine (VM) based on an image, some network
components, an application service such as an WebApp environment and a service
such as MongoDB. It depends on the provider and type of resources and services.
The cloud provider will validate,
through the BSS, your request and if the validation is okay (credit card,
contract), it will provision the request through the OSS.
You
will receive, in one way or another, the credentials to access your requested
services and you will usually receive a monthly invoice for your consumption.
Reference :
http://12285-if-unsika.blogspot.com/2012/10/prinsip-kerja-cloud-computing-atau.html
permasalahan sistem terdistribusi baru
Banyak hal yang sering menjadi masalah pada pembangunan sebuah sistem terdisribusi, seperti masalah keamanan, aplikasi yang digunakan, kompleksitas dan lain lain
Sistem terdistribusi terdiri dari komputer otonom yang
bekerja sama untuk memberikan tampilan sistem yang satu kesatuan. keuntungan dari system ini ialah memberi
kemudahan untuk mengintegrasikan aplikasi yang berbeda berjalan pada komputer
yang berbeda ke dalam satu sistem. Keuntungan lain adalah ketika dirancang
dengan baik, skala sistem terdistribusi
akan mengikuti dengan ukuran jaringan yang mendasarinya. Namun system ini memiliki kekurangan seperti biaya perangkat lunak yang lebih kompleks,
penurunan kinerja, dan keamanan juga sering lemah. Namun demikian, ada minat
yang cukup besar di seluruh dunia dalam membangun dan memasang sistem
terdistribusi.
Sistem terdistribusi sering bertujuan menyembunyikan banyak
seluk-beluk yang berkaitan dengan distribusi proses, data, dan kontrol. Namun,
transparansi distribusi ini tidak hanya datang pada harga kinerja, tetapi dalam
situasi praktis tidak pernah dapat
sepenuhnya tercapai. Fakta bahwa trade-off harus dibuat antara pencapaian
berbagai bentuk transparansi distribusi melekat pada desain sistem
terdistribusi, dan dapat dengan mudah menyulitkan pemahaman pemakai.
REFERENSI :
>> Tanenbaum, distributed systems principles and paradigms 2nd edition, 2006
The conclution of Mobile Computing Effects to Education Computing Progress
In the mobile computing digital era has many roles in
improving the quality in world of education. Because it could help and
facilitate the day-to-day learning. The capabilities and characteristics of
mobile computing also allows the distance learning process to be more effective
and efficient and get better result. Even according to M. Mukhopadhay M., 1992
“Globalization has triggered a shift in education from to-face education conventional
to more open education.
Many developed countries already implementing mobile
computing technology in teaching and learning process. For example, mobile
computing in developed countries is learning together in their education, or
called collaborative learning, has been proven to improve test score and reduce
dropouts by 22%. Mobile technology has found a way to be able to perform
collaborative learning, in wich various students can discuss in the web forum
to make database together, about anything based their location each other. In
France, the project “Flexible Learning” has been applied to the system of
education. It is reminiscent of Ivan Illich forecast early 70s on “Education
without school (Deschooling Socieiy)”. Meanwhile in developing countries like
Malaysia, “Problem Based Learning” with mobile learning technology or
M-Learning is said still new in terms of its implementation. For Harvard
Medical School project, ArcStream Solutions was hired to develop solutions
based on the Palm OS mobile platform that facilitates communication between
students and faculty, and which provide detailed program information. Florida
State University College of Medicine is used to develop a solution ArcStream
Clinical Data Collection System ( CDC ) which allows students to take and edit
patient reports . But development continued in order to obtain good results for
the quality of education in Indonesia .
The advantages of mobile computing:
>> The use of e-books to be efficient in the learning process.
>> Being less expensive because of the lack of accommodation for buildings, school supplies, and transportation.
>> Academic students can be controlled by the parents.
>> The use of e-books to be efficient in the learning process.
>> Being less expensive because of the lack of accommodation for buildings, school supplies, and transportation.
>> Academic students can be controlled by the parents.
Disadvantages of mobile computing:
>> The storage capacity of mobile computing technology becomes a problem
>> Depending on the sophistication of the Internet and mobile devices
>> In terms of psychology, socialization or interaction of neighbor will be reduced this will result in people tend to be apathetic.
>> The storage capacity of mobile computing technology becomes a problem
>> Depending on the sophistication of the Internet and mobile devices
>> In terms of psychology, socialization or interaction of neighbor will be reduced this will result in people tend to be apathetic.