Monthly Archives: september 2012

Billig backup? Amazon Glacier vs Backblaze

Amazon presenterade nyligen en ny tjänst, Amazon Glacier. Den är precis som en glaciär: långsam men inget stoppar den. Du betalar inget för att ladda upp data till Glacier, och lagring kostar 0,01 USD (cirka 7 öre) per gigabyte och månad. Detta är under en tiondels kostnad jämfört med Amazon S3.

Med en kostnad på 0,01 USD per månad kan du lagra 500 GB i Glacier innan du når upp i Backblaze:s månadskostnad på 5 USD. Lagrar du mindre än 500 GB kan Glacier alltså bli billigare – men det finns en hake. Skulle du behöva återställa data kan det kosta en hel del. Amazons prismodell för återställning av data är komplicerad, men hur den är uppbyggt tyder på att den inte riktar sig till individuella användare.

En viss andel av lagrad data kan återställas gratis varje månad. I ett stort system med många användare fungerar detta bra, eftersom alla användare inte kommer behöva återställa sin data samtidigt.Därför tror jag Glacier kommer användas av många företag som erbjuder online-backup, och kanske även av företag som vill slippa ha bandstationer för sin interna backup.

Skulle jag behöva återställa mina 900 GB på en dag skulle det kosta 6 221 USD (om jag räknat rätt, beräkningen är som sagt komplicerad). Jag kan dock återställa 40 GB (5% av all lagrad data) per månad gratis, så om jag bara tappar en liten del av mina filer behöver jag inte betala något för återställningen.

Backblaze affiliateAmazon Glacier är en innovativ och intressant tjänst, men den passar inte för mina backupbehov. Jag fortsätter använda Backblaze, både för att det blir billigare och för att jag inte har lust att ladda upp 900 GB en gång till. Däremot kommer kanske Backblaze själva komplettera sina storage pods med lagring i Glacier, fast deras pods kostar dem 0,0025 USD per månad i inköp, serverhallshyra och strömförbrukning så de har faktiskt billigare lagring själva.

Benchmark: Java-prestanda på Raspberry Pi (överklockning)

Diagram - Java-prestanda på Raspberry Pi

Som jag nämnde tidigare har jag installerat Java på min Raspberry Pi. Att köra java-program på en Raspberry Pi går inte särskilt snabbt.

För att få en uppfattning av hur snabbt körde jag prestandatest-sviten Dacapo. Den kör ett antal test som simulerar olika typer av program.

För att ha något att jämföra med körde jag testet på min iPod Touch 1gen från 2007 och på min arbetsdator, en PC med fyra kärnor som har några år på nacken.

Min PC var omkring 100 gånger snabbare än Raspberry Pi, så den är inte så lönt att jämföra med, men iPod Touch presterar i nivå med Raspberry Pi för de tester den klarar köra. (Den misslyckas dock med en hel del tester, dels på grund av minnesproblem, dels för att vissa java-bibliotek saknas.)

Java-versionen jag använde för testerna på Raspberry Pi var OpenJDK (IcedTea7 2.1.1).

Testerna på Raspbmc visade mycket sämre prestanda, vilket förmodligen berodde på att xbmc kördes i bakgrunden. Överklockning gjorde stor skillnad. Jag använde följande inställningar vid överklockning:

arm_freq sdram_freq gpu_freq
900 500 300

Det finns fler inställningar att ändra på vid överklockning. Du överklockar genom att ändra i /root/config.txt och en fullständig beskrivning av alla överklockningsparametrar hittar du på elinux.org. Mer information på svenska finns i denna tråd på Sweclockers.

Min slutsats är att Raspberry Pi är ganska långsam om man jämför med en modern PC, men jämfört med en iPod Touch är den ungefär lika snabb. Överklockning gör stor nytta och påverkar inte stabiliteten, så vill du få mer hastighet ur din Raspberry Pi kan du enkelt ändra parametrarna i config.txt och boota om och vips så har du en snabbare dator.

Installera och programmera Java på Raspberry Pi (OpenJDK 7)

Berry GoodCreative Commons License D. Sharon Pruitt via Compfight

Jag är mest van att programmera i Java, och därför ville jag förstås testa köra Java på min Rasperry Pi.

För att köra javaprogram behövs bara en JRE, men för att kompilera krävs JDK. Det finns flera JDK till Arm (den processor Raspberry Pi använder), men den som är lättast att komma igång med heter OpenJDK. Du installerar den såhär:

sudo aptitude install java7-jdk

Aptitude kommer visa ett meddelande liknande det nedan. Se till att du har tillräckligt ledigt utrymme på SD-kortet (2GB räcker om du inte har något annat installerat, men har du möjlighet så använd ett kort som är större än 2GB).

0 upgraded, 137 newly installed, 0 to remove and 12 not upgraded.
Need to get 103 MB of archives.
After this operation, 326 MB of additional disk space will be used.
Do you want to continue [Y/n]?

Tryck Y och låt Aptitude ladda ner och installera allting. När installationen är klar kan du kontrollera att java funkar med följande kommando:

java -version

Java visar då vilken variant av Java som finns installerad och dess version:

OpenJDK Runtime Environment (IcedTea7 2.1.1) (7~u3-2.1.1-1+rpi1)
OpenJDK Zero VM (build 22.0-b10, mixed mode)

Jag skapade en enkel testfil (jag använde vim, men du kan naturligtvis använda andra editorer, t.ex. nano)

public class Hw {
 public static void main(String[] args){
  float f = 3.1415f;
  System.out.println("Java on Raspberry " + f);

 }
}

För att kunna köra testprogrammet kompilerar du det:

javac Hw.java

och sedan testkör du det med:

java Hw

Programmet svarar då med:

Java on Raspberry 3.1415

Det är alltså mycket enkelt att komma igång med Java på Raspberry Pi. Däremot går det inte särskilt snabbt att köra program, vilket jag kommer visa i en annan blogpost.