- Energy: is an indirectly observed quantity. It is often understood as the ability a physical system has to do work on other physical systems. Since work is defined as a force acting through a distance (a length of space), energy is always equivalent to the ability to exert pulls or pushes against the basic forces of nature, along a path of a certain length.
- Storage: refers to computer components and recording media that retain digital data. Data storage is a core function and fundamental component of computers.
- Attention: is the cognitive process of selectively concentrating on one aspect of the environment while ignoring other things. Attention has also been referred to as the allocation of processing resources.
- Industry: is the production of an economic good or service within an economy.
- Expert: is someone widely recognized as a reliable source of technique or skill whose faculty for judging or deciding rightly, justly, or wisely is accorded authority and status by their peers or the public in a specific well-distinguished domain.
- Powerful: Having or capable of exerting power. Effective or potent.
- Simulate: is the imitation of the operation of a real-world process or system over time.[1] The act of simulating something first requires that a model be developed; this model represents the key characteristics or behaviors of the selected physical or abstract system or process. The model represents the system itself, whereas the simulation represents the operation of the system over time.
- Peak: The highest, or sometimes the highest and lowest points or value on some measurement, result, graph, etcetera.
Mostrando entradas con la etiqueta DPS Lab. Mostrar todas las entradas
Mostrando entradas con la etiqueta DPS Lab. Mostrar todas las entradas
martes, 8 de mayo de 2012
[DPS Lab] Extra Points 3
domingo, 22 de abril de 2012
[DPS Lab] Extra Points 2
- Transition: The process of change from one form, state, style or place to another.
- Event: Is an action that is usually initiated outside the scope of a program and that is handled by a piece of code inside the program. Typical sources of events include the user (who presses a key on the keyboard, in other words, through a keystroke).
- Execution: Is the process by which a computer or a virtual machine carries out the instructions of a computer program. The instructions in the program trigger sequences of simple actions on the executing machine. Those actions produce effects according to the semantics of the instructions in the program.
- Graph: Is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected objects are represented by mathematical abstractions called vertices, and the links that connect some pairs of vertices are called edges.
- Interrumption: Is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution. A hardware interrupt causes the processor to save its state of execution and begin execution of an interrupt handler. Software interrupts are usually implemented as instructions in the instruction set, which cause a context switch to an interrupt handler similar to a hardware interrupt.
- Node: A vertex (plural vertices) or node is the fundamental unit out of which graphs are formed: an undirected graph consists of a set of vertices and a set of edges (unordered pairs of vertices), while a directed graph consists of a set of vertices and a set of arcs (ordered pairs of vertices).
- Disallow: Deny the access or use of something.
- Condition: Is a feature of a programming language which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false. Apart from the case of branch predication, this is always achieved by selectively altering the control flow based on some condition.
- Input: Any data entered into a computer or data processing system,
- Reachable: Be able to touch or take something with our arms
- Precise: Is a measure of the detail in which the quantity is expressed. This is usually measured in bits, but sometimes in decimal digits. It is related to precision in mathematics, which describes the number of digits that are used to express a value.
miércoles, 18 de abril de 2012
[DPS Lab] Red de Petri
Es una representación matemática o gráfica de un sistema a eventos discretos en el cual se puede describir la topología de un sistema distribuido, paralelo o concurrente. La red de Petri esencial fue definida en la década de los años 1960 por Carl Adam Petri. Son una generalización de la teoría de autómatas que permite expresar un sistema a eventos concurrentes.
Una red de Petri es un grafo orientado con dos tipos de nodos: lugares (representados mediante circunferencias) y transiciones (representadas por segmentos rectos verticales).
Los lugares y las transiciones se unen mediante arcos o flechas.
Fundamentos
- Una Red de Petri es un modelo gráfico, formal y abstracto para describir y analizar el flujo de información.
- El análisis de las Redes de Petri ayuda a mostrar información importante sobre la estructura y el comportamiento dinámico de los sistemas modelados.
- La teoría de las Redes de Petri permite la representación matemática del sistema a ser modelado.
- Las Redes de Petri son de utilidad en el diseño de sistemas de hardware y software, para especificación, simulación y diseño de diversos problemas de ingeniería.
- Las Redes de Petri pueden considerarse como autómatas formales o como generadores de lenguajes formales y tienen asociación con la teoría de grafos.
- Son excelentes para representar procesos concurrentes, así como, procesos donde pueden existir restricciones sobre la concurrencia, precedencia, o frecuencia de esas ocurrencias.
Ventajas
- Tratamiento individual de procesos independientes.
- Procesos paralelos o concurrentes.
- Recursos compartidos.
Estructuras Básicas
Componentes y caracteristicas
Las Redes de Petri están compuestas de cuatro componentes básicos que forman su estructura:
- Un conjunto de plazas P
- Un conjunto de transiciones T
- La función de entrada I
- La función de salida O
Las funciones de entrada y salida relacionan las transiciones y las plazas.
La función de entrada I es un mapeo a partir del conjunto de plazas de entrada hacia la transición tj, la función se puede escribir como I(tj).
La función de salida O es un mapeo a partir de la transición tj hacia el conjunto de plazas de salida, la función de salida se puede escribir como O(tj).
Construcción
- Un arco une siempre lugares con transiciones y nunca dos lugares o dos transiciones.
- Una transición puede ser destino de varios lugares y un lugar puede ser el destino devarias transiciones.
- Una transición puede ser origen de varios lugares y un lugar puede ser origen de varias transiciones.
- Los lugares pueden presentar marcas (una marca se representa mediante un punto en el interior del círculo).
- Cada lugar tiene asociada una acción o salida. Los lugares que contiene marcas se consideran lugares activos. Cuando un lugar está activo sus salidas están a uno.
- A las transiciones se les asocia eventos (funciones lógicas de las variables de entrada). Una transición se dice que está sensibilizada cuando todos su lugares origen están marcados.
- Cuando ocurre un evento asociado a una transición (la función lógica se hace uno), se dice que la transición está validada.
Validación
Consiste en comprobar que se cumplen las propiedades de vivacidad, limitación y reversibilidad:
Hay que considerar :
M0: marcado inicial. De este se desprende el comportamiento del sistema.
[M0] : vector de marcados posibles a partir de un marcado inicial. (marcados alcanzables).
- Vivacidad: Se trata de un concepto relacionado con la idea de “no bloqueo”.Una transición se dice viva si para un marcado inicial existe una secuencia de franqueos para la cual se puede franquear esa transición. Si todas las transiciones de una red son vivas, la RdP se llama viva y así la red nunca se bloquea.
- Limitación: Se dice que la red está k- limitada si para todo marcado alcanzable tenemos que ningún lugar tiene un número de marcas mayor que k. Las redes 1-limitadas pueden implementarse mediante biestables, estas redes son conocidas como binarias.Si la red diseñada generar más marcas que las que su limitación permite el modelado será erroneo
- Reversibilidad: Una RdP es reversible si para cualquier marcado alcanzable es posible volver al marcado inicial.
Referencias
lunes, 2 de abril de 2012
[DPS Lab] Extra Points
- Authentication: is the act of confirming the truth of an attribute of a datum or entity. This might involve confirming the identity of a person or software program, tracing the origins of an artifact, ensuring that a product is what its packaging and labeling claims to be.
- Identity: Is a set of data that uniquely describes a person or a thing (sometimes referred to as subject or entity) and contains information about the subject's relationships to other entities
- Consistent: When the data in a storage system remains unchanged over a period of time.
- DistributionThe act of divide the tasks in several computers.
- Scalable: When a system, network, or process, is capable to be enlarged to accommodate that growth in amount of work and performance.
- Allocalte: The action of set a portion of a system memory or system storage for specific purposes.
- Transaction: The act of exchange or transfer something from one place to another.
- Driver: Is a computer program allowing higher-level computer programs to interact with a hardware device through the system bus.
- Replica: Is a copy of a system data shared and stored in another computer system.
- Sorting: Is the act of arrange a set of data in a particular order.
- Security: Is the degree of protection against danger, damage, loss, and crime.
- Task: Is an execution path through address space. In other words, a set of program instructions that are loaded in memory. The address registers have been loaded with the initial address of the program. At the next clock cycle, the CPU will start execution, in accord with the program.
jueves, 29 de marzo de 2012
[DPS Lab] Consistency and Replication
Replication
"Is the process of sharing information so as to ensure consistency between redundant resources, such as processes, storage devices and systems, etcetera.
The same data is shared and/or stored in several devices.
The replication itself should be transparent to an external user. Also, in a failure scenario, a failover of replicas is hidden as much as possible.
"
Types
- Active: is performed by processing the same request at every replica.
- Passive: each single request is processed on a single replica and then its state is transferred to the other replicas.
Why perform Replication?
- Enhance reliability
- If one replica is unavailable or crashes, use another.
- Protect against corrupted data
- Improve performance
- Scale with size of the distributed system (replicated web servers).
- Scale in geographically distributed systems
- Key issue: need to maintain consistency of replicated data.
Keeping replicas up to date needs a lot of network use, so, we need a high speed broadband connection between nodes.
The updates need to be atomic (transaction)
The replicas need to be synchronized (time consuming)
Consistency
Is the process of keep the same information in all the systems all the time.
All the replicas must be consistent, if one copy is modified, others become inconsistent; so:
- Modifications have to be carried out on all copies.
- Problems with network performance.
- It is needed to handling concurrency.
Consistency models are used in distributed systems like distributed shared memory systems or distributed data stores (such as a filesystems, databases, optimistic replication systems or Web caching). The system supports a given model, if operations on memory follow specific rules. The data consistency model specifies a contract between programmer and system, wherein the system guarantees that if the programmer follows the rules, memory will be consistent and the results of memory operations will be predictable. The most common models are:
- Casual Consistency: Writes that are potentially casually related must be seen by all processes in the same order. Concurrent writes may be seen in a different order on different machines.
- FIFO Consistency: Writes done by a single process are seen by all other processes in the order in which they were issued, but writes from different processes may be seen in a different order by different processes.
- Strict Consistency: Any read always returns the result of the most recent write, implicitly assumes the presence of a global clock. A write is immediately visible to all processes.
- Secuential Consistency: Weaker than strict consistency. Assumes all operations are executed in some sequential order and each process issues operations in program order. Any valid interleaving is allowed. All agree on the same interleaving. Each process preserves its program order. Nothing is said about “most recent write”
Consistency Model Comparison
References
sábado, 10 de marzo de 2012
[DPS Lab] Cluster Computing & Grid Computing
Grid computing is focused on the ability to support computation across administrative domains sets it apart from traditional computer clusters or traditional distributed computing. Grids offer a way of using the information technology resources optimally inside an organization. In short, it involves virtualizing computing resources.
Grid computing is often confused with cluster computing. Functionally, one can classify grids into several types: Computational Grids (including CPU scavenging grids), which focuses primarily on computationally-intensive operations, and Data grids, or the controlled sharing and management of large amounts of distributed data.
There are many definitions of the term Grid computing:
When two or more computers are used together to solve a problem, it is called a computer cluster . Then there are several ways of implementing the cluster, Beowulf is maybe the most known way to do it, but basically it is just cooperation between computers in order to solve a task or a problem. Cluster Computing is then just the thing you do when you use a computer cluster.
Grid computing is something similar to cluster computing, it makes use of several computers connected is some way, to solve a large problem. There is often some confusion about the difference between grid vs. cluster computing. The big difference is that a cluster is homogenous while grids are heterogeneous. The computers that are part of a grid can run different operating systems and have different hardware whereas the cluster computers all have the same hardware and OS. A grid can make use of spare computing power on a desktop computer while the machines in a cluster are dedicated to work as a single unit and nothing else.
Grid are inherently distributed by its nature over a LAN, metropolitan or WAN. On the other hand, the computers in the cluster are normally contained in a single location or complex.
Another difference lies in the way resources are handled. In case of Cluster, the whole system (all nodes) behave like a single system view and resources are managed by centralized resource manager. In case of Grid, every node is autonomous i.e. it has its own resource manager and behaves like an independent entity.
This is an excelent document that explain the diferences and characteristics of Cluster, Grid ans Cloud computing: Cluster, Grid and Cloud Computing
References
Definition
There are many definitions of the term Grid computing:
- A service for sharing computer power and data storage capacity over the Internet
- An ambitious and exciting global effort to develop an environment in which individual users can access computers, databases and experimental facilities simply and transparently, without having to consider where those facilities are located.
- Grid compting is a model for allowing companies to use a large number of computing resources on demand, no matter where they are located.
Cluster Computing VS. Grid Computing
When two or more computers are used together to solve a problem, it is called a computer cluster . Then there are several ways of implementing the cluster, Beowulf is maybe the most known way to do it, but basically it is just cooperation between computers in order to solve a task or a problem. Cluster Computing is then just the thing you do when you use a computer cluster.
Grid computing is something similar to cluster computing, it makes use of several computers connected is some way, to solve a large problem. There is often some confusion about the difference between grid vs. cluster computing. The big difference is that a cluster is homogenous while grids are heterogeneous. The computers that are part of a grid can run different operating systems and have different hardware whereas the cluster computers all have the same hardware and OS. A grid can make use of spare computing power on a desktop computer while the machines in a cluster are dedicated to work as a single unit and nothing else.
Grid are inherently distributed by its nature over a LAN, metropolitan or WAN. On the other hand, the computers in the cluster are normally contained in a single location or complex.
Another difference lies in the way resources are handled. In case of Cluster, the whole system (all nodes) behave like a single system view and resources are managed by centralized resource manager. In case of Grid, every node is autonomous i.e. it has its own resource manager and behaves like an independent entity.
Characteristics of Grid Computing
- Loosely coupled (Decentralization)
- Diversity and Dynamism
- Distributed Job Management & scheduling
Characteristics of Cluster computing
- Tightly coupled systems
- Single system image
- Centralized Job management & scheduling system
Areas of Grid Computing and it's applications for modeling and computing
- Predictive Modeling and Simulations Predictive Modeling is done through extensive computer simulation experiments, which often involve large-scale computations to achieve the desired accuracy and turnaround time. It can also be called "Modeling the Future". Such numerical modeling requires state-of-the-art computing at speeds approaching 1 GFLOPS and beyond. In case of Computational Biology , It is the modeling and simulation of self-organizing adaptive response of systems where spatial and proximal information is of paramount importance. Areas of Research include:
- Numerical Weather Forecasting.
- Flood Warning
- Semiconductor Simulation
- Oceanography
- Astrophysics (Modeling of Black holes and Astronomical formations)
- Sequencing of the human genome
- Socio-economic and Government use
- Engineering Design and Automation
- Finite-element analysis
- Computational aerodynamics
- Remote Sensing Applications
- Artificial Intelligence and Automation
- Image Processing
- Pattern Recognition
- Computer Vision
- Energy Resources Exploration
- Seismic Exploration
- Reservoir Modeling
- Plasma Fusion Power
- Nuclear Reactor Safety
- Medical, Military and Basic Research
- Medical Imaging
- Quantum Mechanics problems
- Polymer Chemistry
- Nuclear Weapon Design
- Visualization
- Computer-generated graphics, films and animations
- Data Visualization
This is an excelent document that explain the diferences and characteristics of Cluster, Grid ans Cloud computing: Cluster, Grid and Cloud Computing
References
miércoles, 29 de febrero de 2012
[DPS Lab] How to open ports on router
This is a guide where I explain how to open ports on a router, in this case, a router Thompson TG585v7
First, we need to login to our modem. Open a web browser and type the following address:
192.168.1.254
We are going to see the following screen:
In the fields, type the following data:
User name: TELMEX
Password: Your WEP KEY. (check the labels of your router)
If the information is correct we will see the main configuration screen:
Then, in the sidebar we will select the option "Herramientas" ("tools"), we will see this screen:
In Herramientas (tools) screen, we are going to select the option "Comparticion de juegos y aplicaciones" (Games and Applications Sharing). We will enter to this section:
Here is where we have control over ports, we can open, close and assign to any device.
To do this, at the bottom of the screen we will select the option "Crear neuvo juego o aplicacion" ("Create new game or application").
We will see this screen:
Here we will enter a name for our new game or application.
In the options below we will select the one that says "Entrada manual de mapas de puertos" ("Manual Entry of Port Maps") and we click Next.
On the next screen:
we are going to define the range of ports, which can be as wide as we need it. In this case I just need to open only one port the 1194, so my interval is from 1194 to 1194.
The other options are left with the default values that have, we click on "Agregar" ("Add"), the screen will refresh and we will see a table that was not previously with the newly opened ports.
Next, we just need to assign that port to a device, basically, this is a type of redirection, because if a request comes to our router with a specific port, the request will be redirected to the device that is assigned that port.
For this we go to the options at the bottom of the modem setup screen and select the option "Asignar un juego o aplicacion a un dispositivo de red local" ("Assign a game or application to a local network device").
Then, in the next screen:
in the table, we will choose the game which we are going to assign, and the device which we are going to assign a game.
Once we have specified these data, we will click the button "Agregar" ("add").
And that is all, we have opened a port and also have set a condition to redirect traffic to the computer or device that will -serve the request.
miércoles, 8 de febrero de 2012
[DPS Lab] Supercomputing in Mexico
Since 2003, Mexico has been in the TOP500, this classification list 2 times a year the ranking of the 500 most powerful computers in the world.
In first we have the supercomputer "K Computer", K comes from the japanese word "Kei" which means 10 quadrillion.
Characteristics
In the center of the country was created the LANCAD project (Laboratorio Nacional de Computo de Alto Desempeño [National Laboratory of High Performance Computing]) with the contribution of the Universidad Autónoma Metropolitana, Instituto Politécnico Nacional (CINVESTAV), and Universidad Nacional Autónoma de México.
Each of these 3 institutions host a cluster of computation:
UNAM: Kan Balam
The UNAM host the supercomputer Kan Balam, it was developed by HP and has 1368 AMD 2.6 GHz Opteron Core processors, 3016 Gigabytes of RAM and a 160 terabytes storage, stored in 19 racks, which together, they use an area of 15 to 20 meters square.
KanBalam comunications operates through a high speed network with Infiniband technology at 10 gigabits per second.
Kan Balam has processing capacity to perform 7,113 trillion arithmetic operations per second and is capable of delivering this capability up to 350 users. The computer can increase their capacity in the future if necessary since this consists of servers, each with 4 processors.
UAM: Aitzaloa
The Aitzaloa cluster consists in 3 main parts.
High Performance Computing Node (HPC)
The companies that contributed to this project are HP and Sun Microsystems
IPN (CINVESTAV): Xiuhcoatl
In late January, CINVESTAV present Xiuhcoatl supercomputer, which in Nahuatl means "fire serpent"
It has 3.480 Intel and AMD processors with a capacity of 24.97 teraflops and 7,200 GB of RAM.
It has a storage capacity of 45.350 GB hard disk and reaching peak computing capacity would require between 70 and 80 kilowatt hours of power consumption.
This includes 170 servers supercomputer capable of performing 18 trillion mathematical calculations per second.
At U.S. cluster hybrid type, which integrates Intel and AMD processors, as well as graphics processing units contecnología GPGPU (General-Purpose Computation on Graphics Processing Units).
The "grid" has a capacity of about 50 Teraflops.
Xiuhcoatl, Kan Balam and Aitzaloa totaling 7 000 cores, its are interconnected by a fiber optic network from the Metro IPN to University, to UAM.
Some planned projects for this cluster range from modeling of proteins that cause Alzheimer's disease (interaction between the atoms), simulations of earth's climate, tsunamis and the formation of stars
The country is moving in the field of Supercomputers, however, the center are getting all the credit. Will the Northern students able to contribute to the supercomputing?
References
In first we have the supercomputer "K Computer", K comes from the japanese word "Kei" which means 10 quadrillion.
Characteristics
- Location: RIKEN Advanced Institute for Computational Science (Kobe, Japan)
- Manufacturer: Fujitsu
- Date of Operation: June 2011 (Fully Operational November 2011)
- Operating System: Linux
- 88.128 2.0GHz 8-core SPARC64 processors VIIIfx packed in 864 cabinets (705.024 cores)
- 1410048 GB of memory
- 12659.89 kW of Power Consumption
- Water Cooling System
Taked from http://i.top500.org/system/177232
In the center of the country was created the LANCAD project (Laboratorio Nacional de Computo de Alto Desempeño [National Laboratory of High Performance Computing]) with the contribution of the Universidad Autónoma Metropolitana, Instituto Politécnico Nacional (CINVESTAV), and Universidad Nacional Autónoma de México.
Each of these 3 institutions host a cluster of computation:
UNAM: Kan Balam
The UNAM host the supercomputer Kan Balam, it was developed by HP and has 1368 AMD 2.6 GHz Opteron Core processors, 3016 Gigabytes of RAM and a 160 terabytes storage, stored in 19 racks, which together, they use an area of 15 to 20 meters square.
KanBalam comunications operates through a high speed network with Infiniband technology at 10 gigabits per second.
Kan Balam has processing capacity to perform 7,113 trillion arithmetic operations per second and is capable of delivering this capability up to 350 users. The computer can increase their capacity in the future if necessary since this consists of servers, each with 4 processors.
UAM: Aitzaloa
The Aitzaloa cluster consists in 3 main parts.
High Performance Computing Node (HPC)
- Number of Nodes: 270 (135 Supermicro's Twin) nodes
- Processors: Quad-Core Intel Xeon 3.0 Ghz with 1600 MHz Front Side Bus
- Number of Processors: Quad-Core 540 (2160 CORES)
- Memory: 16GB RAM per node (4320 Total Distributed)
- Computing Capacity: 18.4 TFlops.
- Communications: Infiniband
- Operating System: Linux Centos 5.2
- Comprising: 4 servers HP-Proliant DL380G5
- Storage System: 100TB Luste
- Hard Drives: 150 1TB drives in Raid 1 and Raid 6
- Communications: Infiniband and Gigabit Ethernet
- Processors: 2 Intel Xeon 2.8GHz Quad-Core
- Front Side Bus: 1600 MHz
- Memory: 32GB RAM
- Communications: Infiniband and Gigabit Ethernet
- Operating System: Linux
- Distribution: Centos 5.2
- Local Storage: 9TB
The companies that contributed to this project are HP and Sun Microsystems
IPN (CINVESTAV): Xiuhcoatl
In late January, CINVESTAV present Xiuhcoatl supercomputer, which in Nahuatl means "fire serpent"
It has 3.480 Intel and AMD processors with a capacity of 24.97 teraflops and 7,200 GB of RAM.
It has a storage capacity of 45.350 GB hard disk and reaching peak computing capacity would require between 70 and 80 kilowatt hours of power consumption.
This includes 170 servers supercomputer capable of performing 18 trillion mathematical calculations per second.
At U.S. cluster hybrid type, which integrates Intel and AMD processors, as well as graphics processing units contecnología GPGPU (General-Purpose Computation on Graphics Processing Units).
The "grid" has a capacity of about 50 Teraflops.
Xiuhcoatl, Kan Balam and Aitzaloa totaling 7 000 cores, its are interconnected by a fiber optic network from the Metro IPN to University, to UAM.
Some planned projects for this cluster range from modeling of proteins that cause Alzheimer's disease (interaction between the atoms), simulations of earth's climate, tsunamis and the formation of stars
The country is moving in the field of Supercomputers, however, the center are getting all the credit. Will the Northern students able to contribute to the supercomputing?
References
miércoles, 1 de febrero de 2012
[DPS Lab] Computing Cluster and Parallel Computing
In simple words, a computing cluster is a group of computers that work together, distributing tasks and sharing hardware and software. By these methods the computing capabilities can grow significantly.
Each computer runs its own operating system, and all are interconnected via a local area network (LAN).
Types of Clusters:
Based on its characteristics, the clusters are classified into 3 types:- 1. High Availability Clusters
HA clusters aim to solve the problems that arise from mainframe failure in an enterprise. Rather than lose all access to IT systems, HA clusters ensure 24/7 access to computational power. This feature is especially important in business, where data processing is usually time-sensitive.
- 2. Load-balancing Clusters
- 3. High-performance Clusters
Cluster Benefits
Some of the benefits of cluster computing are:Reduced Cost: The price of off-the-shelf consumer desktops has plummeted in recent years, and this drop in price has corresponded with a vast increase in their processing power and performance. The average desktop PC today is many times more powerful than the first mainframe computers.
Processing Power: The parallel processing power of a high-performance cluster can, in many cases, prove more cost effective than a mainframe with similar power. This reduced price per unit of power enables enterprises to get a greater ROI from their IT budget.
Improved Network Technology: Driving the development of computer clusters has been a vast improvement in the technology related to networking, along with a reduction in the price of such technology.
Scalability: Perhaps the greatest advantage of computer clusters is the scalability they offer. While mainframe computers have a fixed processing capacity, computer clusters can be easily expanded as requirements change by adding additional nodes to the network.
Availability: When a mainframe computer fails, the entire system fails. However, if a node in a computer cluster fails, its operations can be simply transferred to another node within the cluster, ensuring that there is no interruption in service.
Parallel Computing
Parallel computing is based on the concept of "divide and conquer", divide a task into smaller parts and execute them simultaneously. When each of these small parts ends, generates a part of the final result, when all tasks complete the sub-results are merged to make the final result.You need to have multi-core computers to carry out this type of calculation, because each core is responsible for carrying out one of the subtasks.
Our world is highly parallelized, take for example an anthill, to keep alive the colony is a common task, and each of the individuals in the colony do their part to complete.
A computer instructions commonly performed in series. When a algorithm is parallelizable it's usually divided into small works called threads, then we apply some synchronization tasks to execute the tasks at the time and order (eg, read or modify a variable). Some synchronization methods are:
- Locks
- Condition variables
- Semaphores
These methods prevent the execution of a critical part of the code at the same time by two or more threads causing an error in the execution or errors in the final result.
Parallelism Levels
- Bit: Increases the processor word size. Increasing the word size reduces the number of instructions the processor must execute in order to perform an operation on variables whose sizes are greater than the length of the word. (For example, consider a case where an 8-bit processor must add two 16-bit integers.
- Instruction: Is a measure of how many of the operations in a computer program can be performed simultaneously.
- Data: Focuses on distributing the data across different parallel computing nodes. Is achieved when each processor performs the same task on different pieces of distributed data
- Task: Focuses on distributing execution processes (threads) across different parallel computing nodes.
Classes of parallel computers
Parallel computers can be roughly classified according to the level at which the hardware supports parallelism. This classification is broadly analogous to the distance between basic computing nodes. These are not mutually exclusive; for example, clusters of symmetric multiprocessors are relatively common.- Multicore computing
- Symmetric multiprocessing
- Distributed computing
- Cluster computing: Interconnected computers.
- Grid computing: Interconnected clusters.
Referencias:
Suscribirse a:
Entradas (Atom)


















