• Tidak ada hasil yang ditemukan

Tema 4 Arquitecturas paralelas

N/A
N/A
Protected

Academic year: 2017

Membagikan "Tema 4 Arquitecturas paralelas"

Copied!
87
0
0

Teks penuh

(1)

Prof.

Dr. José Antonio de Frutos Redondo

Dr. Raúl Durán Díaz

Departamento de Automática

Arquitectura e Ingeniería de Computadores

Tema 4

(2)

Arquitectura e Ingeniería de Computadores

Tema 4. Arquitecturas Paralelas

Arquitecturas paralelas.

¿En qué consiste una arquitectura paralela?

Evolución y convergencia de las arquitecturas paralelas.

Redes de interconexión.

Redes de interconexión estáticas.

Redes de interconexión dinámicas.

Coherencia en memoria cache.

Fuentes de incoherencia.

(3)
(4)

Arquitectura e Ingeniería de Computadores

(5)

Arquitecturas Paralelas

Comparativa Vectoriales-MPP

LINP

ACK (GFLOPS)

฀CRAY peak ฀MPP peak

Xmp /416(4) Ymp/832(8) nCUBE/2(1024) iPSC/860 CM-2 CM-200 Delta Paragon XP/S C90(16) CM-5 ASCI Red T932(32) T3D Paragon XP/S MP

(1024)

(6)

Arquitectura e Ingeniería de Computadores

Sistemas vectoriales por fabricante

0

200

400

600

Cray

CDC

Fujitsu

Hitachi

NEC

Total

(7)

Lista TOP500 de los computadores más rápidos

Number of systems

(8)

Arquitectura e Ingeniería de Computadores

(9)
(10)

Arquitectura e Ingeniería de Computadores

Siglas en “Arquitecturas Paralelas”

SMP

: Symmetric Multiprocessor.

MPP

: Massively Parallel Processor. Típicamente el número

de procesadores es superior a 100.

Cluster

: Conjunto de computadores completos conectados

por una red comercial.

Cluster Beowulf

: Cluster de sistema operativo libre y

componentes comerciales ordinarios.

Constellation

: Cluster de nodos donde cada uno de ellos es

de tipo SMP.

Grid

: Colección de recursos autónomos geográficamente

distribuidos, acoplados mediante la infraestructura de

(11)
(12)

Arquitectura e Ingeniería de Computadores

Rendimiento de los sistemas en TOP500

En la siguiente gráfica, se muestra el rendimiento de los

sistemas colocados en la posiciones 1, 10, 100, 500 de la

lista TOP500.

También se muestra el crecimiento acumulado.

La curva del sistema número 500 crece con un factor de 1,9

anual.

El resto de curvas muestran un crecimiento anual en un factor

de 1,8.

(13)
(14)

Arquitectura e Ingeniería de Computadores

Criterios antiguos

Aplicaciones

Sistema

Software

SIMD

Paso de mensajes

Memoria compartida

Flujo de datos

Arrays

Sistólicos

Arquitectura

• Arquitecturas paralelas ligadas a modelos de

programa-ción.

• Arquitecturas divergentes, sin ningún patrón de

crecimien-to.

(15)

Criterios actuales

Extensión de la arquitectura de computadores para soportar

comunicaciones y cooperación.

ANTES: Conjunto de instrucciones.

AHORA: Comunicaciones.

Hay que definir:

Abstracciones, fronteras, primitivas (interfaces)

Estructuras que implementan los interfaces (hw o sw)

Compiladores, librerías y OS son cuestiones importantes en

nuestros días.

(16)

Arquitectura e Ingeniería de Computadores

Arquitecturas Paralelas

Recordemos que

Un computador paralelo es un conjunto de elementos de

proceso que se comunican y cooperan para resolver

rápidamente grandes problemas.

Podemos decir que la “Arquitectura Paralela” es:

Arquitectura convencional

+

(17)

Arquitecturas Paralelas

Arquitectura de comunicación

User/System Interface +

Implementación

User/System Interface

:

Primitivas de comunicación a nivel de usuario y a nivel de sistema.

Implementación:

Estructuras que implementan las primitivas: hardware o OS

Capacidades de optimización. Integración en los nodos de proceso.

Estructura de la red.

Objetivos:

Rendimiento

(18)

Arquitectura e Ingeniería de Computadores

Modelos de programación

Especifica las comunicaciones y la sincronización.

Ejemplos:

Multiprogramación

: no hay comunicación o sincronismo.

Paralelismo a nivel de programa.

Memoria compartida

: como un tablón de anuncios.

Paso de mensajes

: como cartas o llamadas telefónicas, punto a

punto.

Paralelismo de datos

: varios agentes actúan sobre datos

individuales y luego intercambian información de control antes

de seguir el proceso.

El intercambio se implementa con memoria compartida o con paso

de mensajes.

(19)

CAD

Multiprogramming

Shared

address

Message

passing

Data

parallel

Database

Scientific modeling

Parallel applications

Programming models

Communication abstraction

User/system boundary

Compilation

or library

Operating systems support

Communication hardware

Physical communication medium

Hardware/software boundary

Arquitecturas Paralelas

(20)

Arquitectura e Ingeniería de Computadores

Arquitecturas Paralelas

Evolución de los modelos arquitectónicos

Modelo de programación, comunicación y organización de la

máquina componen la arquitectura.

Espacio de memoria compartida.

Paso de mensajes.

Paralelismo de datos.

Otras:

Flujo de datos.

(21)

Memoria Compartida

Cualquier procesador puede referenciar directamente cualquier

posición de memoria.

La comunicación se realiza implícitamente por medio de cargas

y almacenamientos.

Ventajas:

Localización transparente.

Programación similar a tiempo compartido en uniprocesadores.

Excepto que los procesos se ejecutan en diferentes

procesadores.

(22)

Arquitectura e Ingeniería de Computadores

Memoria Compartida

Proporcionado en un amplio rango de plataformas.

Históricamente sus precursores datan de los años 60.

Desde 2 procesadores a cientos de procesadores.

Conocidas como máquinas de

memoria compartida.

(23)

Memoria Compartida

Proceso: espacio de direcciones virtuales más una o varias

hebras.

Parte de las direcciones son compartidas por varios

procesos.

Las escrituras en posiciones compartidas son visibles a las

otras hebras (también en otros procesos).

Es la extensión natural del modelo uniprocesador: memoria

convencional; operaciones atómicas especiales para la

sincronización.

(24)

Arquitectura e Ingeniería de Computadores

Memoria Compartida

Store

P1

P2

Pn

P0

Load

P

0

pr i vat e

P

1

pr i vat e

P

2

pr i vat e

Pn pr i vat e

Espacio de direcciones virtuales.

Conjunto de procesos con comunicación

por medio de memoria compartidas

Direcciones Físicas en la máquina

(25)

Memoria Compartida

I/O ctrl

Mem

Mem

Mem

Interconnect

Mem

I/O ctrl

Processor

Processor

Interconnect

I/O

devices

Hardware de comunicación

(26)

Arquitectura e Ingeniería de Computadores

Memoria Compartida

P

P

C

C

I/O

I/O

M

M

M

M

Estrategia de

comunicaciones en

“Mainframe”:

•Red de barras cruzadas.

•Inicialmente limitado por el

coste de los procesadores.

Después, por el coste de la

red.

•El ancho de banda crece

con

p.

(27)

Memoria Compartida

P

P

C

I/O

M

M

C

I/O

$

$

Estrategia de comunicaciones

en “Minicomputer”:

•Casi todos los sistemas con

microprocesadores usan bus.

•Muy usados para computación

paralela.

•Llamados SMP,

symmetric

multiprocessor

.

•El bus puede ser un cuello de

botella.

(28)

Arquitectura e Ingeniería de Computadores

Memoria Compartida

Ejemplo: Intel Pentium Pro

Quad.

Coherencia y multiproceso

integrados en el modulo

P-Pro bus (64-bit data, 36-bit addr ess, 66 MHz) CPU Bus interface MIU P-Pro module P-Pro module P-Pro module 256-KB

L2 $ Interrupt controller PCI bridge PCI bridge Memory controller

(29)

Ejemplo: SUN Enterprise.

16 tarjetas de cualquier tipo:

procesadores + memoria, o I/O.

Gigaplane bus (256 data, 41 addr ess, 83 MHz)

SBUS SBUS SBUS

2 FiberChannel 100bT , SCSI Bus interface CPU/mem car ds P $2 $ P $2 $ Mem ctrl Bus interface/switch

I/O car ds

(30)

Arquitectura e Ingeniería de Computadores

Otras opciones en comunicación:

Problemas de interconexión: coste (barras cruzadas) o ancho de banda (bus).

Dance-hall: ampliable a menor coste que en barras cruzadas.

Latencia en acceso a memoria uniforme, pero alta.

NUMA (

non-uniform memory access):

Construcción de un simple espacio de memoria con latencias diferentes.

COMA: Arquitectura de memoria a base de caches compartidas.

M M ° ° ° M

° ° ° M M ° ° ° M

Network Network P $ P $ P $ P $ P $ P $

UMA o Dance hall

NUMA

(31)

Ejemplo: Cray T3E

Ampliable a 1024 procesadores, enlaces de 480MB/s.

El controlador de memoria genera las peticiones para posiciones no locales.

Switch

P $

XY

Z Exter nal I/O

Mem ctrl and NI

Mem

(32)

Arquitectura e Ingeniería de Computadores

Construidos por medio de computadores completos,

incluyendo I/O.

Comunicación por medio de operaciones explícitas de

I/O.

Modelo de programación: acceso directo sólo a direcciones

privadas (memoria local), comunicación por medio de

mensajes (send/receive)

Diagrama de bloques similar al NUMA

Pero las comunicaciones se integran a nivel de I/O.

Como redes de

workstations

(

clusters

), pero mayor

integración.

Más fáciles de construir y ampliar que los sistemas

NUMA.

Modelo de programación menos integrado en el hardware.

Librerías o intervención del sistema operativo.

(33)

Paso de Mensajes

send

especifica el buffer a transmitir y el proceso receptor.

recv

especifica el proceso emisor y el

buffer

de

almacenamiento.

Son copias memoria-memoria, pero se necesitan los nombres

de procesos.

Opcionalmente se puede incluir el destino en el envío y unas

reglas de identificación en el destino.

En la forma simple, el emparejamiento se consigue por medio

de la sincronización de sucesos

send

/

recv

.

Existen múltiples variantes de sincronización.

(34)

Arquitectura e Ingeniería de Computadores

Paso de Mensajes

Proceso P

Proceso Q

Direcciones Y

Dir X

Send X, Q, t

Receive Y,P, t

,

Match

Espacio local

del proceso

Espacio local

(35)

Evolución en las máquinas de Paso de Mensajes

Primeras máquinas: FIFO en cada

enlace.

Modelo de programación muy

próximo al hw; operaciones simples

de sincronización.

Reemplazado por DMA, permitiendo

operaciones no bloqueantes.

Buffer de almacenamiento en

destino hasta

recv

.

Disminución de la influencia de la

topología (enrutado por hw).

Store&forward routing

: importa la

topología.

Introducción de redes multietapa.

Mayor coste: comunicación nodo red.

Simplificación de la programación

000 001 010 011 100 110 101 111

(36)

Arquitectura e Ingeniería de Computadores

Memory bus

Micr oChannel bus

I/O

i860 NI DMA

DRAM

IBM SP-2 node

L2 $ Power 2 CPU Memory contr oller 4-way interleaved DRAM General inter connection

network formed fr om 8-port switches

NIC

Ejemplo: IBM SP-2

Realizado a base

de estaciones

RS6000.

(37)

Memory bus (64-bit, 50 MHz) i860

L1 $

NI DMA i860

L1 $

Driver Mem ctrl 4-way interleaved DRAM Intel Paragon node 8 bits, 175 MHz, bidir ectional 2D grid network

with pr ocessing node attached to every switch

Sandia’ s Intel Paragon XP/S-based Super computer

Ejemplo Intel Paragon.

(38)

Arquitectura e Ingeniería de Computadores

La evolución y el papel del software ha difuminado las

fronteras entre memoria compartida y paso de mensajes.

send

/

recv

soporta memoria compartida vía

buffers

.

Se puede construir un espacio global de direcciones en Paso

de Mensajes.

También converge la organización del hardware.

Mayor integración para Paso de Mensajes (menor latencia,

mayor ancho de banda)

A bajo nivel, algunos sistemas de memoria compartida

implementan paso de mensajes en hardware.

Distintos modelos de programación, pero también en

convergencia.

(39)

Modelo de programación:

Las operaciones se ejecutan en paralelo en

cada elemento de la estructura.

Una hebra de control, ejecución paralela.

Un procesador asociado a cada elemento.

PE

PE

° ° °

PE

PE

PE

° ° °

PE

° ° °

° ° °

° ° °

Contr ol

processor

Paralelismo de Datos

Modelo arquitectónico:

Array

de muchos procesadores

simples, baratos y con poca

memoria.

Asociados a un procesador de

control que emite las

instrucciones.

(40)

Arquitectura e Ingeniería de Computadores

EVOLUCION

Rígida estructura de control (SIMD en la taxonomía de Flynn)

Populares cuando el coste ahorrado con la centralización era

alto.

En los 60, cuando la CPU era un armario.

Reemplazados por vectoriales a mediados de los 70.

Más flexibles y fáciles de manejar

Revivido en los 80 cuando aparecen

32-bit datapath slices

.

Aniquilados por los modernos microprocesadores.

Más razones para su desaparición:

Las aplicaciones regulares son fáciles de ejecutar por su

localidad en otro tipo de procesadores.

MIMD son eficaces y más generales en el paralelismo de datos.

El modelo de programación converge con SPMD (

single

program multiple data

).

(41)

1 b a + − × × × c e d f Dataflow graph f = a × d

Network Token stor e Waiting Matching Instruction fetch Execute Token queue Form token Network Program stor e a = (b +1) × (b − c)

d = c × e

(42)

Arquitectura e Ingeniería de Computadores

Flujo de Datos

EVOLUCIÓN

Claves:

Capacidad para el nombramiento de instrucciones, sincronización,

planificación dinámica.

Problemas:

Manejo de complejas estructuras de datos, como arrays.

Complejidad de la memoria de emparejamiento y la unidades de

memoria.

Convergencia al uso de procesadores y memoria convencional.

Soporte para conjuntos de hebras ejecutadas en distintos

procesadores.

Uso de memoria compartida.

(43)

Interconexión de sistemas paralelos

La misión de la red en una arquitectura paralela es

transferir

información

desde cualquier fuente a cualquier destino

minimizando la latencia

y con

coste proporcionado

.

La red se compone de:

nodos;

conmutadores;

enlaces.

La red se caracteriza por su:

topología

: estructura de la interconexión física;

enrutado

: que determina las rutas que los mensajes pueden o

deben seguir en el grafo de la red;

(44)

Arquitectura e Ingeniería de Computadores

Interconexión de sistemas paralelos

Clasificación de las redes por su topología.

Estáticas:

conexiones directas estáticas punto a punto entre los nodos;

fuerte acoplamiento interfaz de red-nodo;

los vértices del grafo de la red son nodos o conmutadores;

se clasifican a su vez:

(45)

Interconexión de sistemas paralelos

Clasificación de las redes por su topología.

Dinámicas:

los conmutadores pueden variar dinámicamente los nodos que

interconectan.

Se clasifican a su vez:

monoetapa;

multietapa:

bloqueante (línea base, mariposa, baraje);

reconfigurable (Beneš);

(46)

Arquitectura e Ingeniería de Computadores

Interconexión de sistemas paralelos

Parámetros característicos de una red:

Tamaño de la red:

número de nodos que la componen.

Grado de un nodo:

número de enlaces que inciden en el nodo.

Diámetro de la red

: es el camino mínimo más largo que se

puede encontrar entre dos nodos cualesquiera de la red.

Simetría

: una red es simétrica si todos los nodos son

(47)

Red lineal

Anillo Estrella

Arbol Malla

Red sistólica

(48)

Arquitectura e Ingeniería de Computadores

nN

/2

n

n

hipercubo

n

no

2

N

2

r

2(

r

1)

4

malla - 2D (

r

x

r

)

no

N

1

2

N

1

estrella

no

N

1

2(

h

1)

3

arbol

(

h

= log

2

N

+ 1)

N

(

N

1)/2

1

N

1

totalmente conexa

N

N

/2

2

anillo

no

N

1

N

1

2

lineal

simetría

enlaces

diámetro

grado

Tipo de red

(49)

Hipercubo 3D ciclo-conexo

(50)

Arquitectura e Ingeniería de Computadores

000

001

010

011

101

111

110

100

000 001 010 011 100 101 110 111

Conexión de nodos que se diferencian en el bit menos significativo

Conexión de nodos que se diferencian en el segundo bit

000 001 010 011 100 101 110 111

Conexión de nodos que se diferencian en el bit más significativo

000 001 010 011 100 101 110 111

Ejemplo de conexiones en un hipercubo 3

(51)

Redes dinámicas: son redes cuya configuración puede

modificarse. Hay dos tipos:

monoetapa.

multietapa.

Las redes monoetapa realizan conexiones entre

elementos de proceso en una sola etapa.

Puede que no sea posible llegar desde cualquier elemento a

cualquier otro, por lo que puede ser necesario recircular la

información (=>redes recirculantes)

Las redes multietapa realizan conexiones entre los

elementos de proceso en más de una etapa.

(52)

Arquitectura e Ingeniería de Computadores

Redes dinámicas

(53)

Redes dinámicas

EP0

EP1

EPn

EP0 EP1 EPn

EP0

EP1

EPn

M0 M1 Mm

(54)

Arquitectura e Ingeniería de Computadores

Redes de interconexión (multietapa)

Las cuatro configuraciones posibles de una caja de

conmutación de 2 entradas.

Cajas de conmutación

a

0

a

1

b

0

b

1

a

0

a

1

b

0

b

1

a

0

a

1

b

0

b

1

a

0

a

1

b

0

b

1

Paso directo

Cruce

Difusión superior

Difusión inferior

(55)

Redes dinámicas bloqueantes

Redes multietapa bloqueantes.

Se caracterizan porque no es posible establecer siempre una

nueva conexión entre un par fuente/destino libres, debido a

conflictos con las conexiones en curso.

(56)

Arquitectura e Ingeniería de Computadores

Redes dinámicas bloqueantes

Red de línea base:

(57)

Redes dinámicas bloqueantes

(58)

Arquitectura e Ingeniería de Computadores

Redes dinámicas bloqueantes

Red baraje perfecto:

000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111

Barajado perfecto

000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111
(59)

Redes dinámicas reconfigurables

Redes multietapa reconfigurables.

Se caracterizan porque es posible establecer siempre una

nueva conexión entre un par fuente/destino libres, aunque haya

conexiones en curso, pero puede hacerse necesario un cambio

en el camino usado por alguna(s) de ellas (reconfiguración).

(60)

Arquitectura e Ingeniería de Computadores

Redes dinámicas reconfigurables

Red de Beneš:

(61)

Redes dinámicas reconfigurables

La red de Beneš se puede construir recursivamente:

Red de Benes 8 x 8

Red de Benes 4 x 4

(62)

Arquitectura e Ingeniería de Computadores

Redes dinámicas no bloqueantes

Redes dinámicas no bloqueantes.

Se caracterizan porque es posible establecer siempre una

nueva conexión entre un par fuente/destino libres sin

restricciones.

Son análogas a los conmutadores de barras cruzadas, pero

(63)

Redes dinámicas no bloqueantes

Red de Clos:

1

2

r

1

2

m

1

2

r n x m r x r m x n 1

n

1

n

(64)

Arquitectura e Ingeniería de Computadores

Coherencia en Memoria Cache

Estructuras comunes de la jerarquía de memoria en

multiprocesadores

Memoria cache compartida.

Memoria compartida mediante bus.

(65)

Coherencia en Memoria Cache

P1

Pn

Memoria principal

(Entrelazada)

Memoria cache

(Entrelazada)

Cache compartida

Pequeño número de

procesadores (2-8)

Fue común a mediados

de los 80 para conectar

un par de procesadores

en placa.

(66)

Arquitectura e Ingeniería de Computadores

Compartición por medio de

bus.

Ampliamente usada en

multiprocesadores de

pequeña y mediana escala

(20-30)

Forma dominante en las

máquinas paralelas

actuales.

Los microprocesadores

modernos están dotados

para soportar protocolos

de coherencia en esta

configuración.

P1

Pn

Memoria principal

Memoria

cache

Memoria

cache

bus

(67)

Salón de baile

Fácilmente escalable.

Estructura simétrica

UMA.

Memoria demasiado

lejana especialmente

en grandes sistemas.

P1

Pn

Memoria

principal

Memoria

cache

Memoria

cache

Red de interconexión

Memoria

principal

(68)

Arquitectura e Ingeniería de Computadores

Pn

Memoria

cache

Memoria

principal

Red de interconexión

P1

Memoria

cache

Memoria

principal

Coherencia en Memoria Cache

Memoria distribuida

•Especialmente atractiva par multiprocesadores escalables.

•Estructura no simétrica NUMA.

(69)

El problema de la coherencia

Datos actualizados en memoria principal y las caches

particulares.

Monoprocesadores:

Incoherencia en distintos niveles.

Operaciones de I/O.

Multiprocesadores:

Incoherencia en distintos niveles

Incoherencia en el mismo nivel

(70)

Arquitectura e Ingeniería de Computadores

Fuentes de incoherencia:

Los datos compartidos.

La migración de procesos.

Las operaciones de entrada-salida.

(71)

P0

P1

P2

Pn

Memoria

Memoria

cache

Fuentes de incoherencia

Datos compartidos

(72)

Arquitectura e Ingeniería de Computadores

Memoria

principal

P0

P1

P2

Pn

Memoria

cache

Datos compartidos

en caches de post-escritura.

(73)

P0

P1

P2

Pn

Memoria

Memoria

cache

P2

P0

Migración de procesos

en caches de escritura directa.

(74)

Arquitectura e Ingeniería de Computadores

P0

P1

P2

Pn

Memoria

principal

Memoria

cache

P2

P0

Migración de procesos

en caches de post-escritura.

(75)

Operaciones de entrada salida

Salida (post-escritura)

Memoria

principal

Memoria

cache

P0

P1

P2

Pn

Entrada

(76)

Arquitectura e Ingeniería de Computadores

Posibles soluciones

Caches locales.

Memoria cache compartida.

Caches privadas con protocolos de escucha.

Caches privadas con directorio compartido.

(77)

P X

P X

P X

P X X

X' I I I

X'

X' X' X' X'

X'

Políticas de mantenimiento de coherencia

Invalidar.

Actualizar.

(78)

Arquitectura e Ingeniería de Computadores

Protocolos de escucha

Protocolos

snoopy

Sistemas de memoria basados en bus.

Escucha de las operaciones (

snoop

)

(79)

Protocolos snoopy

Caches de escritura directa.

inválido

válido

R(j)

W(j)

R(i), W(i)

R(j)

W(i)

R(i)

(80)

Arquitectura e Ingeniería de Computadores

R(i)

R(j)

M

S

I

R(j)

W(i)

R(i)

W(i)

W(j)

W(i)

W(j)

R(i)

Protocolos snoopy

Caches de post-escritura

MSI.

(81)

W(j)

R(i) S

R(i)

W(i)

W(j)

R(j)

R(i)

R(i)

W(i)

M

E

S

I

W(i)

W(j)

R(j) S

W(i)

Protocolos snoopy

Caches de post-escritura

MESI.

(82)

Arquitectura e Ingeniería de Computadores

Protocolos basados en directorios

Multiprocesadores con red de interconexión.

Dificultades de

broadcast

y su escalabilidad.

Directorio: guarda la información relativa al estado del bloque

de cache.

Directorios centralizados y directorios distribuidos.

(83)

Fallo de lectura en estado modificado.

Directorio

P1

Cache

Bloque

Mem.

Directorio

P2

Cache

Bloque

Mem.

P3

Cache

Bloque

Protocolos basados en directorios

1

2

3

4

(84)

Arquitectura e Ingeniería de Computadores

Fallo de escritura en estado compartido.

Directorio

P1

Cache

Bloque

Mem.

Directorio

P2

Cache

Bloque

Mem.

Directorio

P3

Cache

Bloque

Mem.

Directorio

P4

Cache

Bloque

Mem.

Protocolos basados en directorios

4

4

3 3

1

(85)

bloque

1

0

1

0

Directorio

P

Cache

Bloque

Mem.

0

Estructura del directorio (directorios completos)

(86)

Arquitectura e Ingeniería de Computadores

Estructura del directorio (directorios limitados)

bloque

Directorio

P

Cache

Bloque

Mem.

0

I1

I2

In

Dirty

log

2

P

(87)

Estructura del directorio (directorios encadenados)

bloque

Directorio

P

Cache

Bloque

Mem.

0

P

Dirty

log

2

P

P

Cache

Bloque

P

Cache

Bloque

P

Cache

Bloque

FC

FC

FC

Referensi

Dokumen terkait

Paket pengadaan ini terbuka untuk penyedia barang/jasa yang teregistrasi pada Layanan Pengadaan Secara Elektronik (LPSE) dan memenuhi persyaratan :. - SIUJK Surat Ijin

Praktik Pengalaman Lapangan (PPL) adalah semua kegiatan kurikuler yang harus dilakukan oleh mahasiswa praktikan, sebagai pelatihan untuk menerapkan teori yang

Hasil dari peningkatan kemampuan berpikir kreatif siswa melalui media. video pada siklusnya mengalami peningkatan, yakni terlihat

Lebih lanjut, Betz dan Hacket menyatakan bahwa semakin tinggi tingkat efikasi diri seseorang pada kewirausahaan di masa-masa awal seseorang dalam berkarir, semakin kuat

Walaupun penelitian ini me- mang tidak dimaksudkan untuk mencari formu- lasi yang tepat dalam menggabungkan antara praktikum virtual dan praktikum riil, namun

Bila dibandingkan dengan luas areal tanah sawah di tahun 2005 yang luasnya 110.548 Ha (54,19% dari luas wilayah), maka di Kabupaten Indramayu cenderung terjadi perubahan

Penelitian ini memberikan gambaran bahwa risiko penyalahgunaan NAPZA pada remaja lebih beriko pada sosial remaja umur 14-18 tahun, dan spiritual remaja yang kurang.

Penelitian ini menggunakan metode Penelitian Tindakan Kelas (PTK) yang dilaksanakan dengan dua siklus. Setiap siklus terdiri dari perencanaan, pelaksaan, observasi