Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Emner
  • Opret bruger
  • Log ind
Se kommentarer (1)
Emner

Flere processorer kræver ny programmering

Den nye tids hardwarearkitektur skaber behov for nemmere og mere sikre måder at skabe programmer, som kan udføre flere opgaver samtidigt.

Af Tania Andersen Fredag, 21. september 2007 - 9:05

»Det er vigtigt at få problemerne løst, men jeg tror nu ikke så meget, det er i den almindelige udviklers bevidsthed,« siger Kim Harding Christensen, tidligere partner og medstifter af Java-firmaet Trifork.

Problemerne består i, hvorledes software kan komme til at køre optimalt i hardwarearkitekturer med mange kerner eller processorer.

»Det er stadigvæk semaforer, man bruger til at sikre adgang til delte ressourcer. Det er et begreb, som er 30 år gammelt, det er det, vi finder i vores biblioteker, i vores sprog, og det gør, at det er meget svært at skrive programmer, som håndterer concurrency (samtidighed) rigtigt. Det er noget, som er vigtigt at få løst, og som begynder at røre på sig nu.«

Hukommelse med transaktionsstyring

Der er forskellige måder at løse problemerne med at opdele et programs opgaver, så de kan udføres samtidigt på flere processorer. Det kræver, at den ene opgave ikke roder rundt i samme hukommelse, som den anden opgave benytter. Humlen er altså at begrænse adgangen til den fælles hukommelse på en eller anden måde.

Et forslag hedder software transactional memory (STM) og går ud på, at programmøren benytter hukommelsen på samme måde, som man bruger transaktionsstyring i databaser for at sikre sig, at to brugere ikke opdaterer de samme data på samme tid. Kim Harding Christensen forklarer:

»Vi starter en transaktion, så roder vi rundt i databasen, og så comitter vi ændringerne til sidst. Hvis der opstod en fejl, så ruller vi tilbage, så vi er i samme tilstand som før, vi startede. Det er i hvert fald en model, som folk kan finde ud af at bruge,« siger Kim Harding Christensen.

Programmøren skal stadig tænke sig om, men det er meget nemmere at realisere, fordi det er den model, som udviklerne er vant til, når de koder op imod en database. Det er simpelthen nemmere at forstå.

Programmer med 100.000 tråde

En anden mulighed er Erlang, som er et programmeringssprog, der er begyndt at røre på sig. I Erlangs afviklingsmiljø kan massevis af tråde udføres samtidigt, op til hundrede tusindvis. Erlang benyttes i teleindustrien, men kan også bruges til helt almindelige formål som f.eks. at skrive en server for chat-protokollen Jabber.

»Problemet ved at lave nye modeller og nye sprog er, at det tager lang tid at modne. Specielt i servere og programmer, som er kritiske. Der er det ikke bare at lave et sprog, det er mere selve implementeringen, som afgør, om det er modent nok til kritiske systemer. Der har Erlang vist sit værd. Det er et gammelt system, hvor fejlene er luset ud for længst.«

Erlang er dagens hype

Men Kim Harding Christensen tror ikke, at Erlang bliver det næste Java, selv om "Dem, der ikke synes, at Ruby er hot længere, kigger på Erlang." Problemet er, at for mange udviklere er sproget ikke tilgængeligt. Dets syntaks er for underligt. De eneste sprog, der bliver populære, er "curly brace"-sprog, mener Kim Harding Christensen, og sådan et er Erlang bestemt ikke. Syntaksmæssigt ligner det lidt Prolog.

Men der er mange gode ideer i Erlang, som man også vil komme til at se i andre sprog, tror Kim Harding Christensen.

Der er også interesse i at implementere det paradigme for samtidighed, der benyttes i Erling som klassebiblioteker, man så kan bruge i eksisterende sprog.

Denne artikel stammer fra det trykte Version2. som udkommer d. 21. september.

Send Tweet
Udskriv

Kommentarer (1)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Torben Mogensens billede
Torben Mogensen 21. sep. 2007 - 10.47
 
Erlang og "curly brace"-sprog

Hvis man insisterer på at programmere alting i "curly-brace" sprog (dvs. sprog, der ligner C), så kommer man ikke langt med massivt parallelle systemer. Der er en tendens i retning af "real programmers don't use Pascal" (http://www.pbm.com/~lindahl/real.programmers.html), men hvor de omtalte "real programmers" fra de tidlige firsere brugte Fortran til alt, så bruger dagens "rigtige" programmører curly-brace sprog til alt, og de kan ikke i deres vildeste fantasi forestille sig, at der kan findes bedre alternativer til nogle formål.

Erlang har mange gode ideer, og jeg synes ikke, at syntaksen er slem (selvom jeg havde foretrukket noget mindre Prolog-agtigt og mere lig Haskell (www.haskell.org) eller ML (http://en.wikipedia.org/wiki/Standard_ML)). Jeg er dog stærk tilhænger af statiske typer for alle programmer over 100 linier, så Erlangs dynamiske typesystem er jeg lidt skeptisk overfor.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

4 gode sikkerhedsråd: Sådan gør du firma-pc'en vinterferieklar

Udgivet 10. feb 8.01Opdateret 10. feb 8.01

Konklusion af Polsag-review fra 2009: Elendig kode hånd i hånd med elendig kontrakt

Udgivet 10. feb 6.59Opdateret 10. feb 8.34

It skal spare kommunerne for 165 millioner kroner i 2012

Udgivet 9. feb 16.02Opdateret 9. feb 16.02

Adobe: Vi laver ikke Flash til Android-udgaven af Chrome

Udgivet 9. feb 15.15Opdateret 9. feb 15.15

Så oldnordisk er politiets it-miljø: Nostalgisk gensyn med 1980’erne

Udgivet 9. feb 14.22Opdateret 9. feb 15.12
Flere it-nyheder »
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Seneste debat

  1. Konklusion af Polsag-review fra 2009: Elendig kode hånd i hånd med elendig kontrakt

    4 comments.
    Last update 6 minutter 20 sekunder
    Skrevet af Jens Holm
  2. Så oldnordisk er politiets it-miljø: Nostalgisk gensyn med 1980’erne

    7 comments.
    Last update 12 minutter 51 sekunder
    Skrevet af Michael Erichsen
  3. Apple vildleder danske kunder med dårlig serviceordning

    16 comments.
    Last update 14 minutter 48 sekunder
    Skrevet af Jesper Poulsen
  4. 4 gode sikkerhedsråd: Sådan gør du firma-pc'en vinterferieklar

    1 comment.
    Last update 18 minutter 37 sekunder
    Skrevet af Maciej Szeliga
  5. Dansk it-firma: Befriende med e-mailfri januar

    4 comments.
    Last update 34 minutter 22 sekunder
    Skrevet af Morten Marquard
  6. Domæne-forening: Lov om .aarhus og .cph var for tynd

    12 comments.
    Last update 45 minutter 49 sekunder
    Skrevet af Nikolaj Brinch Jørgensen
  7. Opdateret liste over danske iværksættere

    2 comments.
    Last update 4 timer 56 minutter
    Skrevet af Therese Hansen
  8. Stop SOPA, PIPA, ACTA, TPP og alle dem der kommer efter

    50 comments.
    Last update 9 timer 17 minutter
    Skrevet af Bjarne W. B. Petersen
Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Digitaliseringsstyrelsen
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300