Tema 2 y 3

Anuncio
Tema 2: Admin. Sistemas Unix
• Funciones del Administrador
•Administración de Clusters
Taxonomía: Introducción
Diseño de un entorno de Administración
Ejemplos (OpenMosix)
Funciones del Administrador
INTRODUCCIÓN
• CIENCIA
TAREAS: RUTINARIAS/DIARIO
(Sam, Scripts, Comandos directos)
• ARTE
SINTONIZACIÓN
(Sar, HP_glance_Plus, Tunex)
Introducción(1/2)
Perfil del administrador:
• Generalista (h/w, s/w; heterogeneidad)
• Tecnología usuario funcione
adecuadamente
• Mejorar la productividad
• Del guru (herencia) al profesional
“Dependencia de cada instalación”
Introducción (2/2)
Sistemas operativos
monolíticos
-Solaris 2.6, IRIX 6.2, Linux
2.2
Microkernels y derivados
- Mach 3.0, Chorus
- OSF/1, AIX 4.1, HP-UX
10.30
La Administración como Ciencia
•Proceso de Pre-instalación
•Proceso de Instalación
•Proceso de Post-instalación
Customización
Tareas de diario
Proceso de Pre-instalación
• Configuraciones soportadas
Stand-alone, data-less, disk-less, server
WS, escritorio, servidor, empotrados
• Plataformas h/w soportadas (compatibilidad)
•Requerimientos de Recursos
•Distribución del medio (CD, Streamer, R_)
•Tipos de discos soportados (SCSI, HP,SASI)
•Espacio disco requerido (Swap,S.O._K)
Proceso de Pre-instalación
• Características de los ejecutables
• Proceso de boot (test, rom, disco, remoto)
• Coexistencia de varios S.O. (particiones)
• Eficiencia /costo /extensibilidad/ seguridad
• Migración de sistema
• Complejidad / Prestaciones /Servicios
“Selección del S.O. en función de las
aplicaciones a ejecutar y requerimientos:
compatibilidad, soporte, puesta a punto”
Dimensionar de forma adecuada (Problema Aulas)
MV corriendo bajo S.O. Huesped
MV corriendo sin S.O. Huesped
Proceso de Pre-instalación
Herramientas básicas del Administrador:
• Combinación de niveles (gráficas, en linea)
• Shell Scripts (automatizar tareas)
• Documentos de estándares (FHS)
• man, apropos, HOW TO
• Gestión de paquetes (rpm, tgz, (tar; gunzip))
• LinuxConfig, SaX, etc
Sistema de Ficheros (1/4)
• Partición (fdisk, diskdruid, format, smit)
• Creación del FS (mkfs)
• Modelos (ext2fs, ufs, minix, jsf, afs, nfs, ...)
• Distribución ( /, /usr, /home, /var, /swap,...)
• Puntos de mount (/etc/fstab, /etc/ufstab, ..)
• Utilidades sin FS (dd, cpio, tar)
Hw / Sw
Disco FUJITSU MAG 3091 - Pruebas zoning para el caso de lectura
30
Tasa de transferencia (en MB/s)
25
Zona 1
Zona 2
20
Zona 3
Zona 4
Zona 5
Zona 6
Zona 7
15
Zona 8
Zona 9
Zona 10
Zona 11
10
Zona 12
5
0
0
200
400
600
800
Tamaño de cada petición individual (en KB)
1000
1200
Sistema de Ficheros: organización
el sistema.
•/bin: Ejecutables básicos
del SSOO.
•/dev: Ficheros especiales
asociados a dispositivos.
•/etc: Configuración del
sistema.
•/home: Directorio de
cuentas de usuarios.
•/lib: Librerías básicas del
sistema.
/
/bin
/dev
/etc
/home
/lib
/mnt
/opt
/proc
/sbin
/tmp
/usr
/var
/bin
/etc
/include
/lib
/man
/local
Instalación S.O.
•
•
•
•
•
•
•
•
BIOS (boot.image,
bootnet.image, ISO,
rawrite.exe)
Reloj del Sistema, SMP,
módulos
Upgrade/ install
Tipo sistema (WS/server/...)
Particiones, formateo, disco
inicio
Instalar paquetes
CONFIGURAR SISTEMA
(red, printer, etc)
Cluster, swap, etc
Proceso de Post-instalación(1/2)
• Tareas de customización del Sistema
- Init, Spooler, I/O
- Recovery system, Seguridad, NIS/NFS
- Scripts de configuración
• Tareas de diario
- Cuentas de usuario, Back-up
- S/W inst., fsck, Shutdown
- Monitoring (prestaciones, Syslog)
Post-instalación (2/2)
• Recovery system
• /etc/rc (mount predefinido, explícito,
automático)
• Red (demonios, ficheros de configuración, etc.)
• Control minucioso de las operaciones a realizar
•/etc/init
Creación del primer proceso
Login:xxxx
Login:xxxx
password:
password: ******
******
init
init
init
init
getty
getty
exec
login
login
exec
sh
sh
/dev/tty0
sh
sh
## ls
ls
ls
ls
Arranque del Sistema
•Arranque del kernel.
•Montar el sistema de ficheros raíz.
•Arranque del proceso init (PID 1).
•Montaje del resto de sistemas de ficheros.
•Inicialización de los terminales.
•Activación del runlevel (demonios).
Niveles de ejecución
•Runlevel 0: Parada del sistema
•Runlevel S: Modo mantenimiento
•Runlevel 1: Multiusuario sin red
•Runlevel 2: Multiusuario con red
•Runlevel 3: Multiusuario con red y X
•Runlevel 4: <Reservado>
•Runlevel 5:<Reservado>
•Runlevel 6: Reboot
Fichero /etc/inittab
Cada entrada tiene el formato:
id:runlevels:action:process args
–id: Identificador único.
–runlevels: Niveles en los que se ejecuta.
–action: Modo de ejecución.
–process args: Proceso a ejecutar.
Tipos de acciones
Las acciones habituales son:
• initdefault: nivel en el que arrancará el Sª
•wait: Arranca el proceso y espera a su
finalización antes de seguir.
•respawn: Arranca el proceso automáticamente
en el caso de que muera.
•once: Si no esta arrancado lo lanza (sin esperar).
•boot: Ejecuta sólo en el arranque (sin esperar).
•off: Si el proceso está en ejecución mátalo.
Scripts del Sistema
El directorio /etc/init.d/ es el usado
para mantener los scripts de arranque de los
servicios del sistema.
– Son scripts (/bin/sh) no binarios.
– Reciben diferentes argumentos (start,
stop, status, restart, ...).
Scripts del Runlevel
• Directorio de scripts
del sistema:
/etc/init.d/
/
/etc
S
K
start/stop
• Directorio de cada
runlevel:
/etc/rc3.d/
/init.d
/network
/rc3.d
/S10network
S10network
orden
Symbolic
link
script
Post-instalación (customización)
• Manejo de Dispositivos
• Servicios de red
• Otros servicios
Administración de Dispositivos
• Independencia de los dispositivos
• Gestores de dispositivos
• Instalación
• Los dispositivos y el buffer cache
Diseño de drivers en UNIX
Carga y descarga de módulos
Request_m()
Kml
código
Espacio_kernel
Kerneld
Espacio_user
modprob
/etc/modules.conf
módulo
insmod
(insmod/Kerneld/thread)
/etc/modules/version
Terminales
• Cableado (null-modem, RS-232)
• ls - /dev/ttyS* ; Mknod -m666/dev/ttyS=c4 64
• /etc/inittab
S0:123:respawn:/sbin/agetty /dev/ttyS0
-L 9600 vt100
• Emulación de terminal (cliente)
Servicios de Red
•Interfaces
•Modelo ISO/OSI
•Direccionamiento
•Subred y routing
•Daemons
•Aplicaciones c/s
•NIS y NFS
•Seguridad
Servicios de Red
Protocolos: tcp/ip, arp, icmp, igmp
5
Aplicación
4
Transporte
3
Red
2
Enlace
1
Dispositivo / Física
Subred
172.17.4.0
172.17.2.0
172.17.6.0
gateways
2 interfaces
• Unicast
– 1-to-1
‹ Broadcast
» 1-to-all
Dir IP: 192.168.0.255
‹ Multicast
» 1-to-many
Multicast
IP Multicast
Application Layer Multicast
Overlay Multicast
Ejemplo LVoD:
IP-Multicast
Proxy-Multicast
ALM-Multicast
Usuarios
Usuarios
Servidor VoD
Servidor VoD
Red troncal
Red troncal
Red troncal
Servidor VoD
Red servicio
Red servicio
Red troncal
•Routing
•Forwarding
Red servicio
Internet
Red servicio
Servidor VoD
Red troncal
Red troncal
Red servicio
Red servicio
Servidor VoD
Red troncal
Usuarios
Servidor VoD
Usuarios
Complejidad Routing:
Optimización de Métricas
Árbol multicast de costo mínimo:
• Costo: 23
• Retardo medio: 39
Árbol multicast óptimo:
• Costo: 35
• Retardo medio: 35
Servicios de Red
La configuración básica del entorno de red:
• Driver de la tarjeta (lsmod (1))
• ifconfig configurar el protocolo de transporte
# ifconfig eth0 198.109.1.1 netmask 255.255.255.0
# ifconfig lo 127.0.0.1
S/etc/rc.config, RH/etc/sysconfig/network
• route tablas de encaminamiento tcp/ip
• /etc/resolv.conf indicar máquina DNS
Comprobar funcionamiento ping, nslookup,
host
Configuración de TCP/IP
Encaminamiento IP:
– Encaminamiento local.
– Encaminamiento dentro de la subred.
– Encaminamiento externo (Router).
Ejemplos:
route
route
route
route
add
add
add
add
-host 127.0.0.1 lo
-net 138.100.8.0 netmask 255.255.248.0 eth0
default gw 192.168.1.1 eth0
default ppp0
Demonios de Red
Dos modalidades de
servicios:
– Dependiente del
inetd.
– Autónomo (modo
standalone).
in.ftpd
21
inetd
23
in.telnetd
80
httpd
TCP Wrappers, tcpd
Monitorizar las peticiones de conexión, crear
un registro de conexiones y aceptar o denegar
conexión en función de la identidad m_cliente.
Servicios RPC de Sun
Servicios de red de SUN:
– NFS (Network File
System)
– NIS (Network
Information System)
Usan un demonio de
enlace: portmapper
111
portmapper
3
2
1
nfsd
function(...)
nfs 1.003
nis 1.004
•NIS
- Desarrollado SUN, facilitar la Adm.de grupos de
WS (información centralizada de configuración)
- Máquinas agrupadas en dominios
Asimetría R/W maps (regenerar/propag)
No control de acceso, grupo ni ACL
No FAQ (cache => tráfico)
Mapas centralizados => n_admin??
• NIS+
Introducido SUN (Solaris 2.1)
- Se pueden delegar autorizaciones para
administrar parte de un dominio
- Los maps son reemplazados por tablas
- Criterios de búsqueda múltiples col.
- Server establece los derechos de acceso (RPC:
parámetros + info de identidad)
Configurar el cliente NIS
1.- /etc/rc.config
YP_DOMAINNAME=“x.uab.es”
YP_SERVER=“maquina server”
/etc/hosts
127.0.0.1 local host
158.109.11.107
aolin4.uab.es
aolin4
/bin/domainname 158.109.11.103
2.- Cargar demonio si no está en /etc/rc.local
>/usr/bin/portmap
>ypbind
3.- Añadir clientes NIS /etc/passwd
+Usuario:::::
NFS
#.S.e exports(5) for a description.
# /home/hola 158.109.65.244(rw)
- Activación de los daemons necesarios
Una vez configurado las carpetas, deberemos activar los daemons
necesarios.
$ sbin/init.d/nfsserver restart //actuar como servidor NFS
$ sbin/init.d/portmap restart //permite conversion TCP/IP RCP
$ rcnetwork restart
$ rcnfsserver restart
$ rpcinfo –p (nos mostrará los daemons activados para comprobar)
$ Mount –t nfs 158.109.65.242 :/home/hola /home/carpeta
Servicios de Red
•Interfaces
•Modelo ISO/OSI
•Direccionamiento
•Subred y routing
•Daemons
•Aplicaciones c/s
•NIS y NFS
•Seguridad
Otros Servicios
• Servidor Web:
– Apache, NCSA.
• Servidor FTP:
– WU-ftp.
• Agente de correo:
– Sendmail, Postfix
• Servicios de correo:
– IMAP, POP.
Syslog (eventos y send )
Metalog (filtrado)
Syslog-ng
Seguridad
Puntos de interés:
– Seguridad Interior: Programas con permisos.
– Seguridad Exterior: Servicios de red.
– Detección de Intrusiones: Una vez que han
superado la seguridad.
La mejor defensa es no tener una máquina con
instalación estándar.
Seguridad
• Antes de firewalls, etc; backups
• Proteger la BIOS
• Paso de parámetros al lilo (delay=0, restricted)
• DES (fuerza bruta), MD5
• bit SUID
• rpm con firmas pgp comparar con listas oficiales
• Minimizar los servicios ofrecidos
• inetd, wrappers, firewalls, sniffers
• Conexiones cifradas
• Snort, nmap, tripware, logcheck
• Consultar las listas de seguridad (bugtraq)
Administración de Sistemas Unix
• INTRODUCCIÓN
• CIENCIA
TAREAS: RUTINARIAS/DIARIO
(Sam, Scripts, Comandos directos)
• ARTE
SINTONIZACIÓN
(Sar, HP_glance_Plus, Tunex)
Proceso de Post-instalación
• Tareas de customización del Sistema
- Init
- Spooler
- I/O
• Tareas de diario
- Cuentas de usuario
- Back-up
- S/W inst. - fsck
- Shutdown
- Monitoring
Cuentas de Usuario (T. diario)
Creación de un usuario:
–Insertarlo en el fichero de usuarios.
–Asignarle un passwd.
–Definir parámetros (limites).
–Crear el directorio home.
–Copiar ficheros iniciales (/etc/skel).
–Cambiar el propietario del home.
–Dar de alta en mail, quota, ...
Gestión de usuarios
•Fichero de usuarios: /etc/passwd
usuario:passwd:uid:gid:desc:home:shell
•Fichero de grupos: /etc/group
grupo:<reserved>:gid:usuarios...
•Fichero de Passwords: /etc/shadow
usuario:passwd:parámetros...
/etc/profile (sesión y ~/.profile de usuario)
Gestión de usuarios distribuida: NIS
Fichero de usuarios: /etc/passwd
Fichero de grupos: /etc/group
Backup
Incrementales /completos
Una estrategia de backup debe incluir:
–Estimación del volumen de datos.
–Selección de los ciclos de backup.
–Automatización (cliente/servidor).
–Verificación del sistema.
Herramientas de backup: tar, cpio, dd
Shutdown
• Procedimientos de Arranque y parada
•Envía una señal a los procesos para su
terminación.
•Entrada en modo monousuario (saca los
usuarios y mata al resto de procesos).
•Sincronización de los sistemas de ficheros
(sync).
•Notificación a los usuarios.
Instalación de paquetes
El formato de paquete depende del S.O.:
–RedHat y otros linux: RPM.
–Fedora YUM
–Solaris: PKG.
–AIX: SMIT.
xrpm, Krpm, gnorpm (versiones gráficas)
Código Fuente
tar -xvfz nombre.tar.gz
(gzip –d & tar –xvf
$./configure –prefix=path
$make
$make install
Actualización del Kernel (1/3)
• Conseguir los fuentes, (desarrollo 1.1.x estables o
de producción, estables 1.2.x). Uname -a
• Versión adecuada de gcc y libc (gcc –v, ls –
l/lib/lib*).README /usr/src/linux & Recursos?
• Salvar los fuentes del anterior (cuidado enlaces)
• cp linux x.y.z.tgz /usr/src
• tar xvfzp linux x.y.z.tar.gz (genera /usr/src/linux)
• cd linux
• Configurar el núcleo (make config, menuconfig,
xconfig: y, n, m)
Actualización del Kernel (2/3)
• Creación de dependencias make dep
• Limpiar ficheros antiguos make clean
• Compilación del núcleo (make b/zImage, zdisk,
zlilo) en: /usr/src/linux/arch/i386/boot/zImage
• Compilación e instalación de módulos
(make modules
Make modules_install (en: lib/modules/x.y.z))
/etc/rc.d/rc.modules ya se pueden cargar
• Instalación del nuevo núcleo
Actualización del Kernel (3/3)
• Instalación del nuevo núcleo
cp zImage /vmlinuz-x.y.z
• Editar el fichero /etc/lilo.config
(opciones de matener el antiguo)
Image=/vmlinuz
Label =linux x.y.z
• Editar el gestor LILO lilo
Parchear el núcleo
• Recoger sólo lo que ha cambiado respecto a lo anterior
(patch X.Y.gz; versión del patch)
• Guardar el árbol de directorios del núcleo actual
Desde /usr/src, tar cvfz fuentes_ant.tar.gz linux
• En /usr/src gzip –d patch x.y.z.gz
• patch –p0 < patch x.y.z
• Si error find –name “.rej”
Los patch sólo funcionan con la versión anterior
# for i in patch-2.2.0[123456789].gz;do
¾Gzip –d $i | patch –p0
¾ done
Tema 2:Adminstración de Sistemas like_Unix
• Funciones del Administrador
•Administración de Clusters
Taxonomía: Introducción
Diseño de un entorno de Administración
Ejemplos (OpenMosix)
Introducción
Aplicaciones:
a.- HPC: Calculo de PI
4
dx
π =∫
2
0 1+ x
1
4
3.5
3
y
2.5
2
1.5
1
0.5
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
b.- Comerciales
Cambio de aplicaciones paralelas (Wrp y Wp)
• Shared hosting platforms
• VN (Nodos Virtuales)
• CCOF (Cluster Computing on the
Fly)
• Market-based Cluster
(Miss-deadline, slack, makespan)
Cómputo
paralelo
Cluster
NO DEDICADO
DEDICADO
Perfiles de uso
Podemos diferenciar 2 perfiles:
•Administrador
•Usuario
MOAB
Admin
Job
Queue
Resource
Manager
User
Compute
Nodes
Usuario: entorno de trabajo (1/2)
Massive parallel computer
gateway
user
Jobs
Tasks
PC-Cluster
Entorno de trabajo (2/2)
- Comandos de manejo
dependencias del sistema de
colas (Loadleveler, SGE,
PBS, Slurm, etc).
- Especificación de
requerimientos
Parámetros de las aplicaciones y entorno
Adaptación de las interfaces de usuario
Hardware
Problema eléctrico, refrigeración,
encendido, ubicación, etc más que un
problema informático.
• Box
barato
• Rak
compacto
mantenimiento
CPU
Hardware
Intel Pentium III, IV http://www.intel.com/
http://www.amd.com/
AMD Athlon
Transmeta Crusoe http://www.transmeta.com/
Conexión CPU Vs Memoria
Red
Ethernet
Gigabit Ethernet
Myrinet
QsNet
Giganet
SCI
Gigabit
Wake On LAN
Hardware
Atoll
VIA
Infinband
Estudio de nuestra propuesta en
redes InfiniBand
¿Por que InfiniBand?
El estándar esta diseñado para ofrecer una arquitectura
conmutada punto a punto (Point-to-point switched I/O fabric)
IBA en
Top500sin
(30
primeros)
Provee un mecanismo de transporte
confiable
descarte
de paquetes (Reliable transport mechanism)
Especifica un extenso conjunto de mecanismos de gestión
que permiten quitar carga a los
procesadores, configurar y
13%
monitorizar la red (Management model)
Implementación en InfiniBand
30%
Propietarios
7%
El gestor de red puede programarse
para encontrar trayectorias
alternativas (Multipath support)
Cray In.
El switch es capaz de identificar congestión evaluando el estado
de sus buffers y marcar los paquetes (Congestion marking)
Myrinet
InfiniBand en el top500
Interconnect
family
23%
SP sw itch
IBA
Quadrics
Noviembre Junio
Junio
7%
2006
3%
2006
2005
17%
Noviembre
2005
Gigabit Ethernet
42.60 %
51.20 %
50.00 %
42.80 %
Myrinet
15.80 %
17.40 %
20.20 %
27.80 %
Infiniband
15.60 %
7.20 %
5.40 %
3.20 %
Quadrics
2.80 %
2.80 %
2.80 %
2.60 %
otros
Sistema de disco
SCSI
IDE
Raid
Diskless Cluster
http://www.linuxdoc.org/HOWTO/Diskless-HOWTO.html
DAS
Cache?
SAN
NAS
Software
Entornos de desarrollo
Diferentes tipo de entornos
Utility
Computing
6
Workload
5
Management
Management
Information
Information
Information
4
2
3
Holistic
Cluster
Local Area
Grid
Wide Area
Grid
Wide Area
Grid
Wide Area
Grid
Moab
Moab
Moab
Moab
Moab
Moab
TORQUE
TORQUE
Linux
Network
1
Simple
Cluster
Moab
TORQUE
TORQUE
Load
Leveler
LSF
PBS
Pro
TORQUE
Load
Leveler
LSF
RM’
RM’s
RM’
RM’s
RM’
RM’s
RM’
RM’s
RM’
RM’s
RM’
RM’s
RM’
RM’s
RM’
RM’s
Storage
Licenses
•SLA’s
•Orchestration
•Auto Provisioning
•Potentially Virtual
•Workload Aware
•Adaptive
OS
Other OS
OS
Other OS
OS
Other OS
OS
Other OS
Diverse HW
& Networks
Diverse HW
& Networks
Diverse HW
& Networks
Diverse HW
& Networks
Diverse HW
& Networks
Diverse HW
& Networks
Diverse HW
& Networks
Diverse HW
& Networks
RM’
RM’s
RM’
RM’s
HPC
Data
Center
Diverse HW
& Networks
Diverse HW
& Networks
Linux
Diverse HW
& Networks
Diverse HW
& Networks
S.O.
Linux Kernels
http://www.kernel.org/
Linux Distributions
Red Hat
Debian GNU/Linux
S.u.S.E.
Slackware
www.redhat.com
www.debian.org
www.suse.com
www.slackware.org
Administración: software
NFS(Network File System)
NIS (Network Information System)
NTP (Network Time Protocol)
server
client
client
client
Manejo de recursos y planificadores
Process distribution
Load balance
Job scheduling of multiple tasks
CONDOR
http://www.cs.wisc.edu/condor/
DQS
http://www.scri.fsu.edu/~pasko/dqs.html
LSF
http://www.platform.com/index.html
The Sun Grid Engine
http://www.sun.com/software/gridware/
Administrador:
Cola
Req.
Historico
Cliente
Req.
Administración
Trabajos ejecutados
Red
Job Schedulers
Servidor
LoRaS
Req.
Gestor
de Colas
Trabajo
Politicas
Despachador
de trabajos
Estado?
Trabajo
Estado /
Fin trabajo
Estado
NOW (CSC)
Control
Lanzar/Terminar
trabajo
Trabajos
Control de
Nodos
Seleccionar trabajos para su ejecución
sobre el mejor conjunto de nodos
Coscheduling (corto plazo)
Taxonomía: Planificación de trabajos en
entornos paralelos
Actualmente: Flexibilidad y predecibilidad
Edition,
scripts, cc, etc
Soft Real-Time
applications (local and
parallel workload)
¡¡¡ Nuevas: Aplicaciones & Entornos!!!
Relación entre planificación de corto y largo
plazo: SLURM
• ¿ Manejo de cores a
nivel de job-scheduler ?
Posibilidad de Simulación
- Modelos analíticos
- Históricos
- Híbridos
Desarrollo de programas
Editor
Language
Compiler
Emacs
C, C++, Fortran, Java
GNU http://www.gnu.org/
NAG http://www.nag.co.uk
PGI http://www.pgroup.com/
VAST http://www.psrv.com/
Absoft http://www.absoft.com/
Fujitsu http://www.fqs.co.jp/fort-c/
Intel
http://developer.intel.com/software/
products/compilers/index.htm
MPI Implementación
mpich
http://www-unix.mcs.anl.gov/mpi/index.html
Fácil de usar
Alta portabilidad
para UNIX, NT/Win, Globus
Lam
http://www.lam-mpi.org/
High availability
Profiler
MPE (MPICH)
Paradyn
http://www.cs.wisc.edu/paradyn/
Vampier
http://www.pallas.de/pages/vampir.htm
Cluster Distribución
FAI http://www.informatik.uni-koeln.de/fai/
Alinka http://www.alinka.com/
Mosix http://www.mosix.cs.huji.ac.il/
Bproc http://www.beowulf.org/software/bproc.html
Scyld http://www.scyld.com/
Score
http://pdswww.rwcp.or.jp/dist/score/html/index.html
Librería matemática
PETSc
PETSc is a large stuite of data structures and routines for both
uni and parallel processor scientific computing.
http://www-fp.mcs.anl.gov/petsc/
Distribuciones más utilizadas (Top 500)
Other 8%
Oscar 30%
Score 10%
Scyld 12%
NPACI Rocks, Moab 40%
Componentes
OSCAR includes (currently):
– C3 – Cluster Management Tools (ORNL)
– SIS – Network OS Installer (IBM)
– MPI-CH – Message Passing Interface
– LAM – Message Passing Interface (Indiana University)
– OpenSSH/OpenSSL – Secure Transactions
– PBS – Job Queuing System
– Maui – Batch scheduler
– PVM – Parallel Virtual Machine (ORNL)
– Ganglia – Cluster Monitor
Tema 2:Adminstración de Sistemas like_Unix
• Funciones del Administrador
•Administración de Clusters (1 sesión)
Taxonomía: Introducción
Diseño de un entorno de Administración
Ejemplos (OpenMosix)
Reflexiones: Admin_Cluster Linux
• Cluster compartido varios usuarios y tipos de carga ( Validez
definida por las necesidades del entorno)
• 64..128 nodos. Cuidado con la escalabilidad de las soluciones
(Signal/Stop)
• Altamente configurable, fácil de instalar y usar (Admin, user)
• Diseño modular y distribuido
• Apuesta por la Predecibilidad frente a: escalabilidad, tolerancia
a fallos, balanceo de carga y seguridad.
• PBS, CCS (100.000 líneas, 400 ficheros) ==Î (10.000 líneas
de código y 30 ficheros de complejidad)
• Modos de funcionamiento space-sharing (modo exclusivo) &
time-sharing (compartido para tareas del metacomputador).
Balancear rendimiento/costo (backfilling conservativo,
dinámico ?)
• Permitir trabajos paralelos, interactivos, tiempo real y batch
• El usuario paralelo especifica los requerimientos (nodos,
tiempo, tipo de ejecución, memoria, etc). Grado de fiabilidad?
• Considerar periodos día / noche a la hora de planificar
(imágenes).
• Instalación automática bajo GUI.
• Punto de acceso de trabajos provenientes de un GRID u otro
cluster.
Especificación de Funcionalidad
• Revisar la arquitectura del entorno (Crono,
CCS,SLURM) Vs Middleware (SCE(KSIX))
• Ingeniería del S/W (browser-based GUI. GUI cliente,
Cluster server)
• Monitorización: (server (Big-brother) o server y
usuario)
• Mantenimiento: manejador de Imágenes (Lizard: 15m
create, 3m clon), update, solución de problemas
• Configuración e instalación: uno o varios master
server (NFS;DNS;DHCP) nodos y front-end.
• Buscar la singularidad (volcar los esfuerzos)
•Ingeniería del S/W (browser-based GUI. GUI cliente, Cluster server)
•Monitorización: (server (Big-brother) o server y usuario)
• ¿Qué herramientas
tienen sentido?
• Turnaround /
slowdown /througput?
• Mantenimiento
• Configuración e instalación
111
portmapper
2
nfs 1.003
nis 1.004
1
nfsd
function(...)
MAC=0A:12:A1:00:B2:24:AE
servidor
cliente
dhcpd
IP=138.100.9.201
• Buscar la singularidad
Process distribution
Load balance
Job scheduling of multiple tasks
Tema 2:Administración de Sistemas like_Unix
• Funciones del Administrador
•Administración de Clusters (1 sesión)
Taxonomía: Introducción
Diseño de un entorno de Administración
Ejemplos (OpenMosix)
The openMosix Project has officially closed
as of March 1, 2008.
Source code and mail archives continue to be
available from SourceForge as read-only
resources.
Moshe Bar
OpenMosix
Herramientas
• Visualización de estado
• Programación de características
Libros
“Building Linux
Clusters”
“How to Build
Beowulf”
“High Performance
Cluster Computing”
Web sites
IEEE Computer Society Task Force on Cluster
Computing
http://www.ieeetfcc.org/
White Paper
http://www.dcs.port.ac.uk/~mab/tfcc/WhitePaper/
Cluster top 500
http://clusters.top500.org/
Beowulf Project
http://www.beowulf.org/
Beowulf Under Ground
http://www.beowulf-underground.org/
Tema 3: Evaluación de prestaciones
3.2.a Evaluación de prestaciones
3.2.b Recursos del Sistema y
consideraciones de diseño
3.2.c Herramientas de medida
3.2.d Metodología
3.2.a.- Evaluación de prestaciones
Introducción (1/3)
“Trasladar las definiciones subjetivas de
rendimiento a un proceso de cuantificación”
• Introducción (Objetivos, Niveles S.O. =>solución
aproximada, no existen formas precisas de
caracterizar los programas)
Puertas ) registros) ISP) PMS) S.O. ) Aplicación
Primitivas y técnicas
Rendimiento
específicas
diferente
Introducción (2/3)
Objetivos en la evaluación de rendimiento:
• Evaluación de selección (Configuración OK)
• Proyección del rendimiento (Sª no existente)
Predecir cargas, etapas iniciales, modificaciones
Objetivos?, mejor organización
• Control del rendimiento (medir, ρ ?, actuar)
Proceso de configuración y sintonización
Introducción (3/3)
Administración de Sistemas Unix
• INTRODUCCIÓN
• CIENCIA
TAREAS: RUTINARIAS/DIARIO
(Sam, Scripts, Comandos directos)
• ARTE
SINTONIZACIÓN
(Sar, HP_glance_Plus, Tunex)
3.2.b.- Recursos del Sistema
Diferentes aplicaciones diferentes recursos
Caracterización de la Carga (1/2)
• Conjunto de todas las entradas que el
sistema recibe del entorno
- Externa (workload (t), sistema (s.o./hw),
p_sistema (cc,linker)
- Dependencia de las fronteras
Determinar cuál de los numerosos aspectos tienen
influencia en el rendimiento del Sistema.
Caracterización de la Carga (2/2)
• Tiempos, mezcla instrucciones, Benchmarks,
kernels y programas sintéticos.
• Parámetros significativos:
- # procesos Cola ready
- Duración ráfaga CPU-burst
- DAG, DG (vol. Comp, vol.comunica)
- scalls, fork/s, namei, igets, exec, lread
- Distinguir fases (paralelismo)
Modelos (1/5)
Capacidad de modelado vs capacidad de decisión.
Tipos de modelos:
Estructurales
Funcionales
Analíticos
Prestaciones
Modelos (2/5)
Estructurales (interrelaciones entre componentes)
Modelos (3/5)
Funcionales
Especifican el funcionamiento o comportamiento del
sistema.
- Diagramas de estado
- Diagramas de flujo
- Redes de Petri
- DAG, DG, TIG
DAG /DG
Vc / Vcom.
Redes de Petri
• Carl Adam Petri en 1962. (>10.000 publications).
red1
red2
safe
yr1
yr2
yellow1
rg1
yellow2
rg2
gy2
gy1
green1
green2
Modelos (4.1/5)
Analíticos
Expresión matemática de la relación
p = Sp (W)
p = indice de pretaciones
W = Carga
derivada por el análisis del comportamiento de un modelo
funcional del sistema.(representatividad, tratabilidad)
Se ocupan de los problemas de gestión de uno o varios
recursos específicos del sistema
Modelos analíticos (4.2/5)
Teoría de colas
Modelos analíticos (4.3/5)
1.- Modelo de llegadas
- Instantes de llegada al sistema
- Tiempo medio entre dos llegadas consecutivas =1/λ
- Velocidad media de llegadas de clientes = λ
El proceso de llegadas puede ser modela do por una
distribución de Poisson.
P (n, t) = ((λ t) n) / n! * (e –λt)
Modelos analíticos (4.4/5)
2.- Modelo de Servicio
- Sea s el tiempo que necesita un cliente en servicio
- Velocidad media de servicio µ
- Tiempo medio que necesita para servir un cliente 1/ µ
Distribución del tiempo de servicio Ps= 1- e - µt
Modelos analíticos (4.5/5)
3.- Política de colas: FCFS, RR, prioridades
Conocidos 1, 2 y 3 se pueden deducir una serie de
formulas de rendimiento.
λ = Número promedio de arribos por período de tiempo
μ = Número promedio de gente o cosas servidos por período de tiempo
n = número de unidades en el sistema
LS = Número promedio de unidades (clientes) en el sistema LS =
ρ = Factor de utilización del sistema =
λ
μ −λ
λ
μ
WS = Tiempo promedio que una unidad permanece en el sistema =
(tiempo de espera + tiempo de servicio)
1
WS =
μ −λ
Modelos analíticos (4.6/5)
Cadenas de Markov
Modelos empíricos(5/5)
Un modelo empírico de prestaciones es obtenido a
partir de la experiencia. A partir de los datos se
construye el modelo , sin ningún modelo supuesto.
Contrariamente, los modelos analíticos derivan de
la descripción matemática de un modelo funcional.
• Modelos de regresión lineal
• Profiles
Modelos (5.1/5)
Modelos de Regresión
Derivado de las observaciones se construye el modelo.
Normalmente se asumen modelos lineales.
Pi = a0 + Σ aij zj + …
(j=1, j=n)
Pi = variable dependiente de rendimiento
zj = f ( carga del sistema, medidas internas)
(validación sobre conjunto de datos o clusters lineales)
Clustering
Y (Consumo)
E(y|x)
E(y|x)=β0+β1x
ΔE(y|x)
Δx
β1=
ΔE(y|x)
Δx
pendiente
β0{
constante
X (renta)
Modelo de Regresión Lineal Simple
Modelos (5.2/5)
Trazas de Gantt (degeneración modelo de prestaciones se
muestra como la carga afecta al consumo de recursos)
Cuota
Algoritmo
arquitectura
r = T. ex.
Política de
planificación
Traza de
GANTT
T.ex. (cuota)
r
Τ1 1
Τ3 1
Τ2 2
Τ4 4
Τ5 4
Τ7 7
Τ8 4
Τ6 3
Τ9 1
P1 Τ1 Τ3
Τ2
P2
Τ4
Τ5
P1 Τ1Τ3 Τ6
P2
Τ2
Τ4
Τ8
Τ7
Τ5
Τ6
Τ7
Τ8
Τ9
Τ9
Simulación (eventos, tiempo, traza)
Híbrido entre modelar y medir (incluir aspectos dinámicos del
Sistema)
Simulación
Determinística
Tiempo
Traza
Estocástica
Eventos
Simulación dirigida por eventos
Algoritmo de simulación secuencial
Inicializar::
clock : = 0;
lista_eventos := (ti, mi);
< mensaje mi será enviado a ti excepto si el proceso fuente recibe un mensaje previo a ti que
lo cancela>
Iterar::
while <no se alcance el criterio de finalización> do
sacar de la lista el mensaje con menor tiempo. Simular el efecto de enviar el mensaje
(t,m).
< puede producir agregar / sacar mensaje de la lista >
clock : = t;
endwhile;
Ejemplo de construcción de la tabla de eventos
Monitores
• Herramienta diseñada para observar la actividad de un sistema
informático mientras es utilizado por los usuarios
Monitor
Carga
• Acciones típicas de un monitor
– Observar el comportamiento
– Recoger datos estadísticos
– Analizar estos datos
– Mostrar los resultados
Atributos de los monitores
•
Interferencia o sobrecarga
(overhead)
– Diferentes grados de
intrusismo
Sistema
informático
Monitor
•
Sistema
informático
Monitor
•
•
Monitor
Sistema
informático
•
•
•
•
Precisión
– Calidad de la medida
Resolución
– Frecuencia de medida
Ámbito o dominio de medida
– Qué mide
Anchura
– Bits de información
Capacidad de síntesis de datos
Coste
Facilidad de instalación y uso
Implementación de los monitores
• Software
– Programas instalados en el sistema
• Hardware
– Dispositivos externos al sistema
• Híbridos
– Utiliza los dos tipos anteriores
Los más
habituales
Entornos
muy
específicos
Tema 3: Evaluación de prestaciones
3.2.a Evaluación de prestaciones
3.2.b Recursos del Sistema y
consideraciones de diseño
3.2.c Herramientas de medida
3.2.d Metodología
3.2.c.- Herramientas de medida
sar- System V: collects and reports systemactivity
information on CPU, disk and memory
vmstat- CPU and virtual memory
iostat- I/O subsystem
ps- shows current status of processes
Accounting data
netstat- network load
who y w
• who: quién está conectado al sistema (logged on)
fede
xavi
:0
pts/0
Oct 30 15:07 (console)
Oct 30 17:45 (paraiso.disca.upv.es)
• w: quién está conectado al sistema (logged on) y qué hace
% w
1:38pm
USER
jaume
fede
xavi
pperez
up 4:27, 18 users, load average: 0.04,
TTY
FROM
LOGIN@
IDLE
ttyp1
kaizen.gap.upv.e 9:17am 2:02m
ttyp2
10:28am 51:02
:0
songoku.disca.up 1:20pm
?
ttyp3
10:02am 29:22
0.03, 0.04
JCPU
PCPU
2:48
0.48s
0.14s 0.03s
7:32
?
0.18s 0.14s
WHAT
-sh
rlogin ma
ssh tiberio.
Carga media del sistema Unix
•
•
•
Estados básicos de un proceso
– En ejecución (running process)
– En espera
• Dispone de todo menos de la CPU (runnable process)
• Bloqueado en una operación de I/O (blocked process)
La cola de procesos del núcleo (run queue) está formada por aquellos que
pueden ejecutarse (runnable)
Carga media (system load average): número medio de procesos en
ejecución y en la cola del núcleo
blocked
runnable
running
uptime
• Tiempo que lleva el sistema en marcha y la
carga media que soporta
% uptime
1:21pm
Hora actual
up
1 day, 4:09, 18 users,
Tiempo en marcha
load average: 1.04, 0.30, 0.09
Último minuto
15 últimos minutos
5 últimos minutos
– Estimación de la carga
• Operación normal: hasta 3
• Muy alta: entre 4 y 7
• Excesivamente alta: mayor que 10
– La carga se tolera según la configuración de cada sistema
Evolución típica de la carga media
¿Cómo mide la carga media el SO?
• Experimentos de Neil Gunther
– www.teamquest.com/resources/gunther/ldav
g1.shtml
Recursos del Sistema y
consideraciones de diseño
La importancia del diseño del S.O
Entrada / Salida
(logical disk, fs_distrib, hdparam, swap, raid, await,
readblock, colas)
Main( )
Usuario
{ ...fork( ) ...
TRAP
TRAP
Kernel
Call proc
Call proc
Copias en memorias intermedias y cambios de espacios
de direcciones condicionan el rendimiento del sistema
Sistema de ficheros: h/w y abstracciones
Zoni
ng30
read (fd, buffer, tamaño)
buffer
Usuario
25
tamaño
archivo lógico
(VFS)
Bloques lógicos
(Servidor
de bloques)
Cache de bloques
(Servidor
de bloques)
Zona 1
3
1340
4
1756
5
840
6
8322
bloques del
archivo
bloques del
dispositivo
T a s a d e tra n s fe re n c ia (e n M B /s )
archivo lógico
(FFS)
Disco FUJITSU MAG 3091 - Pruebas zoning para el caso de lectura
Zona 2
20
Zona 3
Zona 4
Zona 5
Zona 6
15
Zona 7
Zona 8
Zona 9
Zona 10
Zona 11
10
Zona 12
1340
1756
840
8322
5
1756
bloques del
disco
Manejador de
disco y
dispositivo
0
0
200
400
600
800
1000
1200
Tamaño de cada petición individual (en KB)
8322
# Hdparm –Tt /dev/hda0
Sistema de ficheros: estructuras de datos
Tipo de Fichero y Protección
Número de Nombres
Propietario
Grupo del Propietario
Tamaño
Instante de creación
Instante del último acceso
Instante de la última modificación
Puntero a bloque de datos 0
Puntero a bloque de datos 1
Puntero a bloque de datos 9
Puntero indirecto simple
Puntero indirecto doble
Puntero indirecto triple
Punteros
a Bloques
de Datos
Punteros
a Bloques
de Datos
Punteros
a Bloques
de Datos
nodo-i
Punteros
a Bloques
de Datos
Punteros
a Bloques
de Datos
Punteros
a Bloques
de Datos
Superbloque
Nodo_i
MS-DOS
Boot
Dos copias
de la FAT
Directorio
Raíz
Datos y
Directorios
UNIX
Boot
Super
Bloque
Mapas
de bits
nodos-i
Tablas internas y layout
Datos y
Directorios
El directorio /proc
• Contiene ficheros con información del sistema
– Configuración
– Estadísticas: contadores
• Ejemplos
– cpuinfo
– meminfo
– interrupts
– devices
– etc.
%more /proc/cpuinfo
processor
: 0
vendor_id
: GenuineIntel
cpu family
: 6
modelo
: 5
modelo name
: Pentium II (Deschutes)
stepping
: 2
cpu MHz
: 350.807487
cache size
: 512 KB
fdiv_bug
: no
fpu
: yes
fpu_exception
: yes
cpuid level
: 2
wp
: yes
flags
: fpu vme de pse tsc msr
bogomips
: 349.80
<< bw de pico del disco
nice
FIFOs, DMA
para reducir int.
Parámetros de sar
• Gran cantidad de parámetros
– Varían de unas versiones a otras del monitor
-u
-B
-c
-b
-d
-I
-n
-q
-r
-w
-W
-x PID
Utilización del procesador
Paginación de la memoria virtual
Creación de procesos
Transferencias con la entrada/salida
Transferencias para cada disco
Sistema de interrupciones
Conexión de red
Carga media del sistema
Sistema de memoria
Cambios de contexto
Intercambio (swapping)
Estadísticas sobre un proceso
Programa SarCheck
• Herramienta para
– Análisis de prestaciones
– Sintonización, planificación de la capacidad
• Sistemas Sun Solaris, HP-UX, AIX y Linux x86
• Basado en el monitor sar
• Utiliza gnuplot para generar gráficos
• Genera informes en formato HTML
– Sección de recomendaciones
– Sección de análisis de recursos
– Sumario de estadísticas, etc.
• www.sarcheck.com
UNIX Performance Tuning Simplified...
and Linux Performance Tuning too!
Informe generado por SarCheck
RESOURCE ANALYSIS SECTION
Average CPU utilization was only 15.7 percent. This indicates that spare capacity exists within the
CPU. If any performance problems were seen during the monitoring period, they were not caused by
a lack of CPU power. CPU utilization peaked at 34.00 percent from 08:10:01 to 08:15:01. A CPU
upgrade is not recommended because the current CPU had significant unused capacity.
Sar –b –d (contadores asociados)
Funcionamiento del monitor sar
•
Se basa en dos órdenes complementarias
– sadc (system-accounting data collector)
• Recoge los datos estadísticos (lectura de contadores) y construye un
registro en formato binario (back-end)
– sar
• Lee los datos binarios que recoge sadc y las traduce a un formato
legible por nosotros en formato texto (front-end)
fichero histórico
/dev/kmem
contadores binarios
sar
sadc
/proc
contadores ASCII
pipe
Informe
Los datos sobre la actividad
•
•
•
Se utiliza un fichero histórico de datos por cada día
Se programa la ejecución de sadc un número de veces al día con la
utilidad “cron” del sistema Unix
– Por ejemplo, una vez cada 5 minutos
Cada ejecución de sadc añade un registro binario con las datos recogidos
al fichero histórico del día
%ls /var/log/sa
-rw-r--r-1 root
-rw-r--r-1 root
-rw-r--r-1 root
-rw-r--r-1 root
-rw-r--r-1 root
-rw-r--r-1 root
-rw-r--r-1 root
-rw-r--r-1 root
-rw-r--r-1 root
root
root
root
root
root
root
root
root
root
3049952
3049952
3049952
3049952
3049952
3049952
3049952
3049952
2372320
Sep 30 23:55 sa30
Oct 1 23:55 sa01
Oct 2 23:55 sa02
Oct 3 23:55 sa03
Oct 4 23:55 sa04
Oct 5 23:55 sa05
Oct 6 23:55 sa06
Oct 7 23:55 sa07
Oct 8 18:45 sa08
Día actual
Procesos, CPU y planificadores
Memoria
Planificación a
largo plazo
Ejecución
Listo
Exit
Fin E/S
Bloqueado
Planificación a corto plazo
Procesos Batch
en espera
Swap
Entra al
sistema
Listo y
suspendido
Bloqueado y
suspendido
Planificación a medio plazo
(reparto tiempo, tamaño cola, prio, nice, SMP: affinity, mpstat)
Dependencia de los intervalos, en función del apartado en el
que se está interesado (2 seg para CPU_info; 30-60seg disco)
#vmstat <-fsi> <interval> <count>
NP: BSD, SysV, OSF, etc diferencias significativas)
Suministrar RSS o VSZ;
planificadores??
time
• Mide el tiempo de ejecución de un programa
– Refleja la percepción de las prestaciones del
sistema por parte del usuario
• real: tiempo total usado por el sistema (tiempo de respuesta)
• user: tiempo de CPU ejecutando en modo usuario (user-state
CPU time)
• sys: tiempo de CPU en modo supervisor (system-state CPU
time) ejecutando código del núcleo
%time quicksort
real
6m 23s
user
3m 50s
sys
2m 10s
Tiempo de respuesta = real = 383 s
Tiempo de CPU = user+sys = 360 s (94% del total)
Tiempo de espera = real-(user+sys) = 23 s (6% del total)
consumido en espera de I/O o en la ejecución de otros programas
Utilización de la UCP
Manejo de memoria
Dirección lógica
Página
Byte
tasa de fallos de página
grado de multiprogramación
Registro base
de la TP
límite superior
límite inferior
número de marcos
(mem_proc, pf, free_mem, cache)
Marco de
página
..
.
Recurso de Red
(send/rec packets, collision, switches&routers, cards,
org_subnet)
/proc
#sysctl kernel.shmmax
Kernel.shmmax=33554432
#sysctl –w
kernel.shmmax=33554430
Kernel.shmmax=33554430
______________________
/etc/sysctl.conf
Kernel.shmmax=33554430
- R_H kernel tuning
- YaST
Tema 3: Evaluación de prestaciones
3.2.a Evaluación de prestaciones
3.2.b Recursos del Sistema y
consideraciones de diseño
3.2.c Herramientas de medida
3.2.d Metodología
3.2.d.- Metodología
Sintonización de las variables de
sintonización del S.O.
1.- Carga
(estable)
Sistema
3.- Rendimiento
2.a.-h/W(CPU, M, I/O, Red)
2b.- Variables de sintonitzación
(buffer cache,taules del nucli, ...)
Descargar