Uke 10 - Hyperthreading og Docker

Oppgaver til mandag 3. - fredag 7. mars

  1. (Oblig)
  2. (Oblig)
  3. (Oblig)
  4. For mem.c er det nesten ingen effekt av hyperthreading:
    group100@os100:~$ for i in 0 48; do time taskset -c $i ./a.out & done
    group100@os100:~$
    Real:1.262 User:1.261 System:0.000 99.88%
    Real:1.264 User:1.261 System:0.000 99.78%
    
    
    group100@os100:~$ for i in 0 49; do time taskset -c $i ./a.out & done
    group100@os100:~$
    Real:0.643 User:0.639 System:0.000 99.33%
    Real:0.643 User:0.643 System:0.000 100.00%
    
      
    For regnejobben er det overraskende god effekt:
    group100@os100:~$ for i in 0 48; do time taskset -c $i ./a.out & done
    group100@os100:~$
    SUm: 0.000000Real:10.468 User:10.463 System:0.004 99.98%
    SUm: 0.000000Real:10.472 User:10.464 System:0.004 99.97%
    
    group100@os100:~$ for i in 0 49; do time taskset -c $i ./a.out & done
    group100@os100:~$
    SUm: 0.000000Real:10.427 User:10.426 System:0.000 100.00%
    SUm: 0.000000Real:10.433 User:10.431 System:0.000 99.99%
    
    Dette viser at det går nesten like raskt på en enkelt hyperthreading CPU som på to uavhengige. Det kan se ut som om den hyperthreading CPUen klarer å få gjort denne beregningen helt parallellt.
  5. (Oblig)
  6. (Oblig)
  7. #! /bin/bash
    
    docker container stop $(docker ps -q)
    
    for i in {1..9}
    do
       cont=$(docker container run -p 808$i:80 -dit apbuntu /bin/bash)
       docker container exec $cont /bin/bash -c "echo docker 808$i > /var/www/html/index.html"
       docker container exec $cont /bin/bash -c "/etc/init.d/apache2 start"
    done
    
    
  8. (Oblig)
  9. (Oblig)