Preparacao das Maquinas

Logar-se na maquina jft-ctl.cern.ch e rodar o script jft-deploy:
cd /data/cfg
./jft-deploy -t "javafiretest javafiretest3"

In machine jft-ctl instal afs_tools in odrder to use k5reauth

Load (traffic shaping)

$ sudo /sbin/tc qdisc show dev seth0
qdisc pfifo_fast 0: bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

# Para inserir um shape
$ sudo /sbin/tc qdisc add dev seth0 root tbf rate 220kbit latency 50ms burst 1540
$ sudo /sbin/tc qdisc show dev seth0
qdisc tbf 8001: rate 220000bit burst 1540b lat 50.0ms
# Para remover um shape
$ sudo /sbin/tc qdisc del dev seth0 root tbf rate 220kbit latency 50ms burst 1540
   

Unidades de medida:

All parameters accept a floating point number, possibly followed by a unit.

Bandwidths or rates can be specified in: kbps Kilobytes per second mbps Megabytes per second kbit Kilobits per second mbit Megabits per second bps or a bare number Bytes per second

Amounts of data can be specified in:

kb or k Kilobytes mb or m Megabytes mbit Megabits kbit Kilobits b or a bare number Bytes.

Lengths of time can be specified in:

s, sec or secs Whole seconds ms, msec or msecs Milliseconds us, usec, usecs or a bare number Microseconds.

Traces ADSL

Servidores Cern Castor

Todas as maquinas de um cluster:

lemon-cli -script-mode -s --cluster "c2cms/t1transfer" -m "9208"
--start 20120317T05:50 --end 20120317T06:00|grep eth0
   
http://lemonweb.cern.ch/lemon-status/info.php?time=0&offset=0&entity=c2cms/t1transfer&cluster=1&type=host

Apenas uma maquina:

lemon-cli -script-mode -s -n "lxfsrl4708" -m "9208" --start 20120317T00:00 --end 20120317T06:00|grep eth0|cut -d" " -f3,7
   
http://lemonweb.cern.ch/lemon-status/info.php?time=3&offset=0&entity=lxfsrl4708

Para uma amostragem mais precisa de uma maquina: http://lemonweb.cern.ch/lemon-status/metric_graph.php?metric=networkInterfaceI0&field=NumKBWriteAvg&sdate=17-03-2012&sdate_time=05%3A50%3A00&edate=17-03-2012&edate_time=06%3A05%3A00&entity=lxfsrl4708&type=host

9208 é a metrica "networkInterfaceIO": http://lemonweb.cern.ch/lemon-status/class_list.php?class=system.networkInterfaceIO

Para uma lista completa de todas as metricas disponiveis no lemon: http://lemonweb.cern.ch/lemon-status/metric_list.php

Ambiente univesitario (UERJ)

Normalizacao para percentual (86000000 é o valor maximo):

for i in $(cat institution.raw); do ( echo "scale=3; $i/86000000;" | bc ); done > institution

Fontes de traces

Simulador de desconexao de nós

  • De acordo com perfil (probabilidade): ADSL, servidor, universitario;

Disparando um Teste

  • Disparar o simulador de desconexao de nodos
  • Criar /data/state/nodefile.txt com a lista de nodos: maquina@perfil/maxbw  # maxbw em kbit por segundo
    javafiretest3@institution/8000
    javafiretest2@institution/80000
    javafiretest@datacenter/160000
    javafiretest4@adsl/4000
       
  • Criar as credenciais da grid
    (source /afs/cern.ch/project/gd/LCG-share/sl5/etc/profile.d/grid_env.sh; grid-proxy-init -valid 168:00)
       
  • Disparar a transferencia
    /data/cfg/jft-run -r 4000kbit -s 100000000 -b 10000000 -f /data/state/nodefile.txt -n 3
       
  • Repetir o mesmo teste varias vezes
    nohup sh -c 'for x in $(seq 3); do /data/cfg/jft-run -r 4000kbit -s 100000 -b 50000 -f /data/state/nodefile.txt -n 3; done' &> /data/state/result &
       
  • Deixar um teste redando com um token valido
    k5reauth "/bin/sh -c 'for x in \$(seq 3); do /data/cfg/jft-run -r 4000kbit -s 100000 -b 50000 -f /data/state/nodefile.txt -n 3; done'" >&/data/state/result
    (digitar a senha para obter novo token, mesmo que nao apareca nada na tela pedindo)
    (ctrl_z, bg)
    
    # teste maior
    k5reauth "/bin/sh -c 'for x in \$(seq 20); do /data/cfg/jft-run -r 4000kbit -s 1000000000 -b 50000000 -f /data/state/nodefile.txt -n 3; done'" >&/data/state/result
       

Comparacoes

com bittorrent

  • Bittorrent usa leaf nodes (adsl), o javafire usaria tambem os storages (castor, eos, etc)
  • Javafire integrado com ferramentas de grid: protocolos de transferencia baseado em SRM/gridftp, authenticacao via certificados X509, opcionalmente poderia usar tambem VOMS para granularidade no controle de acesso aos dados (authorizacao baseado em roles);
  • Medir o desempenho de ambos para casos de teste semelhantes

com PhEDEx

  • O PhEDEx é usado para transferencias entre Tiers, normalmente datasets inteiros ou parciais se no tamanho de uma fita (blocos). Nao pode ser usado para transferir para uma maquina local;

com FileMover

com Globus Online

  • (a confirmar) globus otimiza a transferencia entre dois endpoints apenas (1:1), ja o java fire otimiza de N:1.
  • (a confirmar) globus precisa que o cliente especifique quem sao os dois endpoints
  • é semelhante no que diz respeito ao uso das ferramentas de grid (gridftp, authenticacao x509)

trabalhos futuros

  • mudar cliente gridftp para dar suporte a escrever no destino o arquivo em uma posicao especifica diferente da origem
  • permitir o uso de destinos que estao atras de NAT e/ou firewall (ver tecnicas tais como as usadas pelo globus online)
  • fazer a verificacao de integridade ao fim das transferencias (menos importante)

Definicao de testes

  • Confirmar que, para uma mesma parametrizacao, a variacao no resultado final é desprezivel (https://github.com/geneguvo/javafire/issues/6). Assim, nao é necessario executar varias vezes o mesmo teste. É preferivel testar diferentes scenarios do que verificar com exatidao uns poucos cenarios especificos.
  • Descobrir os limites do sistema (https://github.com/geneguvo/javafire/issues/5)
  • Definir scenarios-chave dentro dos limites
  • Testar os diferentes algoritmos para cada scenario-chave: o novo algoritmo tem que cobrir com desempenho aceitavel aqueles casos-chave onde o algoritmo simples nao foi capaz de lidar, porem sem perda significativa para os scenarios mais comuns

Visualizacao dos testes

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng cluster_c2cms_t1transfer_3_0_S_NUMKBREADAVG_S_NUMKBWRITEAVGOVERLAYS_1.png r1 manage 22.3 K 2012-07-28 - 13:20 DiegoGomes c2cms-t1transfer cluster bandwidth usage for the year time period
Unknown file formatext jft-deploy r1 manage 1.8 K 2012-04-14 - 12:39 DiegoGomes  
Edit | Attach | Watch | Print version | History: r17 < r16 < r15 < r14 < r13 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r17 - 2013-02-14 - DiegoGomes
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback