maandag 27 juli 2015

High Performance Computing: Een introductie

Wat is HPC?
High Performance Computing (HPC) refereert over het algemeen naar het samenvoegen van rekenkracht op zo'n manier dat het veel hogere performance kan leveren dan dat men uit een typische desktop computer of workstation zou kunnen halen. Het betreft het gebruik van supercomputers en parallele verwerkings technieken voor het oplossen van complexe reken problemen. Het doel is om grote problemen op te lossen en onderzoeksactiviteiten te verrichten door middel van computer modellering, simulatie en analyse. 

HPC is geëvolueerd om te voldoen aan de toenemende vraag naar verwerking snelheid. Het is vaak belangrijk dat bepaalde berekeningen zeer snel worden uitgevoerd, om de resultaten nog relevant te laten zijn. Denk bijvoorbeeld aan weersvoorspellingen. Een ander mooi voorbeeld waarin verwerkingstijd een cruciale rol speelt in het oplossen van een gevorderd probleem is te zien in de naar mijn mening zeer boeiende film over het kraken van een Duitse code in de tweede wereldoorlog; The imitation game.

HPC brengt verschillende technologieën, zoals computer architectuur, algoritmen, programma's, electronica en systeem software samen onder een dak. Een zeer efficiënt HPC systeem vereist een netwerk met hoge bandbreedte en lage latency om meerdere computers (nodes) en clusters te koppelen.

Waarom u er misschien meer over zou willen weten
Naarmate de vraag naar verwerkingskracht en snelheid groeit, zal HPC waarschijnlijk bedrijven van allerlei formaten interesseren. Mogelijk heeft u wel eens gehoord van het gebruik van supercomputers die werken aan enkele van de mensheids grootste problemen in wetenschap en engineering; het ontstaan van het universum, medicijnen tegen ziektes als kanker, etcetera. Dat zullen misschien niet de computers zijn die u nodig zult hebben. Dat zijn zeg maar de Formule 1 auto's onder de supercomputers. Uw interesse gaat mogelijk eerder uit naar het type 'Volkswagen Polo'. U kunt namelijk ook HPC realiseren door computers (nodes) te clusteren, waarbij elke node bijvoorbeeld 4 processoren of 16 cores heeft en een cluster uit 16 tot 24 nodes, of 64 tot 256 cores bestaat. De nodes kunnen dan samenwerken om problemen op te lossen die te geavanceerd zijn om door een enkele computer te worden opgelost.

HPC technologie wordt in multidisciplinaire domeinen geïmplementeerd. Zo wordt het gebruikt in de biowetenschappen, voor geographische data, voor olie en gas industrie modellering, voor de automatisering van elektronisch ontwerpen, voor klimaat modellering en in de media en entertainment branche. Heeft u andere toepassingsgebieden voor HPC? Wie weet helpt het u 'onoplosbare' problemen oplosbaar te maken en gaan er nieuwe deuren voor u open. Brainstorm er eens over met uw collega's.

De komende posts zullen u nog een stapje wijzer maken in de wondere wereld van HPC. Stay tuned!



maandag 20 juli 2015

Is data nutteloos?

Er zijn wetenschappers die beweren dat data nutteloos is. Dat klinkt heel apart, aangezien data management een zeer belangrijk onderdeel is geworden van de maatschappij. Zelf ben ik het niet eens met die uitspraak, maar ik begrijp wel waarom sommige mensen deze uitspraak doen. Hierbij wat meer inzicht in het nut van data, en hoe u het nut kan verhogen.

Definitie oorlog
Er bestaan enorm veel definities van de termen data, informatie, kennis en wijsheid. Als je er een aantal leest zul je zelf ook merken dat het niet gemakkelijk is om deze termen te definiëren en er een scheidingslijn tussen te trekken. De DIKW pyramide is een hierarchisch model waarin elk nivau van de hierarchie een essentiële voorloper / essentieel onderdeel is van de niveaus erboven; dus data is een voorloper van informatie, informatie is een voorloper van kennis en kennis is een voorloper van wijsheid.

Hierbij de omschrijvingen van deze begrippen als ik enkele definities vluchtig combineer:
Data zijn feiten en statistieken die ongecategoriseerd en onbewerkt zijn. Ze hebben geen betekenis of waarde omdat ze geen context en intepretatie hebben. Ze zijn waar, hebben een objectieve werkelijkheid en kunnen worden geverifieerd. Het zijn prikkels die we waarnemen met onze zintuigen.
Informatie is afgeleid van data. Het is data die op zo'n manier is georganiseerd en gestructureerd dat de informatie relevantie heeft voor een bepaald doel of een bepaalde context. Daardoor is het betekenisvol, waardevol, bruikbaar en relevant.
Kennis is bewustzijn, begrip en vertrouwdheid van een feit of situatie verkregen door ervaring. Het is een compositie van meerdere bronnen van informatie na verloop van tijd.
Wijsheid is de kwaliteit van het hebben van ervaring, kennis en goed oordeel. Wijsheid betrekt het gebruik van kennis voor een groter goed. 
Deze omschrijving van data bevat de bewering dat data geen waarde heeft. Toch blijkt data wel waardevol te zijn als het wordt omgevormd tot informatie. Daarom zou ik eerder iets beweren in de trant van dat data in veel situaties niet direct, maar wel indirect nuttig is, i.p.v. het waardeloos te noemen.

Verder is het erg lastig te zeggen of iets 'waar' is of niet. De ene persoon neemt bepaalde dingen anders waar dan de andere persoon (denk bijvoorbeeld aan verschillen in hoe mensen kleuren zien). Hoe bepaal je dan wat de objectieve werkelijkheid is? Ieder persoon is uniek en heeft een eigen referentiekader, dus ik vraag me af of er uberhaupt wel objectiviteit bestaat.

Hoe verhoog je het nut van data?
Zoals je ziet kan je uitgebreid filosoferen en discussiëren over definities. Het kan heel interessant en waardevol zijn om definities op te stellen, zodat je van elkaar weet waar je over praat. Ook zorgen definities ervoor dat je heel kritisch naar een situatie kijkt en tot nieuwe inzichten kunt komen. Maar hoe ver moet je hierin gaan?
Er dient een gezonde balans gevonden te worden in het creëren van definities voor de begrippen en het benutten van de begrippen. We kunnen heel lang praten over welke kenmerken thuishoren bij welk begrip. We kunnen ook heel veel tijd steken in het verwerven en ontwikkelen van data, informatie, kennis en wijsheid, maar naar mijn idee is dit alleen nuttig als we deze zaken ook actief inzetten om bepaalde resultaten te bereiken die uiteindelijk ons leven verrijken. Er is al zoveel data en informatie tot onze beschikking en we hebben al zoveel kennis en wijsheid. Misschien heeft u veel meer van deze zaken nodig, maar misschien kunt u wat u al heeft nog veel beter inzetten en ervan profiteren. De kunst is om zelf het nut van data te creëren, niet alleen door er informatie, kennis en wijsheid uit te halen, maar vooral ook door er daadwerkelijk, actief doelen mee te bereiken.

maandag 13 juli 2015

Cloud autonomics

Cloud complexiteit
Zoals vorige week verteld is er een kloof tussen de complexiteit van systemen en het vermogen om deze te managen, bijvoorbeeld omdat systemen steeds meer verbonden en divers dienen te zijn. Cloud computing is een voorbeeld van een innovatie die een hoge complexiteit met zich meebrengt; niet alleen door de kortstondige en gedeelde computing omgeving maar bijvoorbeeld ook door onbedoelde bijkomstigheden als consumptie gebaseerde prijsmodellen, die monitoring and continue optimalisatie vereisen om verspilling van middelen en slecht kostenmanagement te vermijden. Er moet dus iets veranderen om de cloud omgevingen van morgen te kunnen managen. Als een bepaalde vorm van autonomic computing hiervoor ingezet kon worden, zou dat enorm veel voordelen met zich mee kunnen brengen.

Cloud autonomics
Volgens Joe Kinsella (CTO en oprichter van CloudHealth Technologies) is cloud autonomics de toekomst. Cloud autonomics is het gebruik van automatic computing om organisaties in staat te stellen om effectief de kracht van cloud computing te beheren en exploiteren door het beheer te automatiseren op basis van bedrijfsbeleid. Bij cloud autonomics kan een persoon/team een beleid opstellen dat bepaalt hoe de infrastructuur moet worden gemanaged en een autonoom systeem toestemming geven om dit beleid uit te voeren. Op die manier kan de cloud infrastructuur continu en automatisch worden geoptimaliseerd en kunnen beslissingen zeer snel genomen worden. U bepaalt het beleid, het systeem executeert de benodigde activiteit.

Het mooie aan dit concept als we het in het licht van de post van vorige week over kunstmatige intelligentie plaatsen, is dat het systeem optimalisatie beslissingen neemt op basis van beleid, in plaats van dat het volledig autonoom is en vertrouwt op kunstmatige intelligentie. Alsnog is het zeer belangrijk dat het opstellen van het beleid zeer zorgvuldig wordt gedaan en dat het beleid weergeeft wat daadwerkelijk is gewenst. Hoewel autonome systemen menselijke fouten flink kunnen verminderen, zal de hefboomwerking namelijk ook van kracht zijn in het geval er een foutief beleid is opgesteld. Toch zou dit wel een logische tussen stap kunnen zijn naar op den duur eventueel volledig autonome systemen.






maandag 6 juli 2015

Hoe slim mogen computers worden?

Om ons leven wat gemakkelijker te maken en om dingen te doen die we zelf niet kunnen, is kunstmatige intelligentie ontwikkeld. Moeten we een pittige som uitrekenen? Geen probleem, dan pakken we een rekenmachine. Moeten we miljoenen transacties tegelijk laten plaatsvinden? Geen probleem, dan schakelen we daar een wat spannendere computer voor in. Wordt het managen van die spannende computers te complex? Geen probleem, dan zorgen we dat ze zichzelf kunnen managen. Of toch liever niet?

Behoefte aan hogere intelligentie
Door technologieën gaan nieuwe deuren open en ontstaan weer nieuwe technologieën. Het tempo van innovatie ligt extreem hoog en het beheren van systemen wordt steeds complexer, waardoor het mensen de pet te boven kan gaan en er specialisten te kort zijn. We zouden dus heel veel baat kunnen hebben bij het naar een hoger niveau brengen van kunstmatige intelligentie.  

Autonomic computing
Autonomic computing is een self-managing computing model. Een autonomic computing systeem beheert het functioneren van computer applicaties en systemen zonder input van de gebruiker, op dezelfde manier als het autonome zenuwstelsel lichamelijke systemen reguleert. Zoals IBM het definieerde is het een self-managing systeem dat zichzelf kan configureren, optimaliseren, helen en beschermen zonder menselijke interventie. Het doel van autonomic computing is om systemen te creëren die zichzelf besturen en in staat zijn om op hoog niveau te functioneren terwijl de complexiteit van het systeem onzichtbaar wordt gehouden voor de gebruiker.

Valkuil
Autonomic computing zou een ideaal mechanisme zijn om met grote ingewikkeldheid om te gaan. Echter, een belangrijk probleem is dat iets wat zichzelf kan managen een eigen leven kan gaan leiden. Als datgene iets super intelligents betreft, kun je totaal de controle verliezen. Mogelijk schaad het dan meer dan dat het baat.

Hier een interessant TED filmpje door filosoof Nick Bostrom over mogelijke nadelige gevolgen van artificial super intelligence en hoe we hierop kunnen anticiperen.