Azure Cloud-Sicherheit

Größe: px
Ab Seite anzeigen:

Download "Azure Cloud-Sicherheit"

Transkript

1 Sessions der BASTA! 2012 im Heft! ActiveReports 7 ab 758 inkl. MwSt NEUES PRODUKT Die schnelle und flexible Reporting-Engine ist jetzt noch besser geworden. Neuer Seiten-Layout-Designer - bietet präzise Design-Tools für die komplexeste Form von Berichten z.b. Steuern, Versicherungen und Investitions-Formularen, etc. Mehr Steuerelemente - aktualisierte Tabellensteuerelemente, Barcode, Matrix und Kalender sowie Daten-Visualisierungs-Features windows.developer /update/2012/10 Deutschland 9,80 Österreich 10,80 Schweiz 19,50 sfr Mehr Anpassungsoptionen - neugestaltete Viewer- und Designer-Steuerelemente Meistgekauftes #1 ComponentSource Produkt - Ein komplettes Angebot mit Präsentations-Controls und Reporting-Lösungen für WinForms-, ASP.NET-, Silverlightund WPF-Anwendungen. Erwecken Sie Ihre Software mit intelligenten Touch-basierte Anwendungen zum Leben Nutzen Sie Ihre vorhandenen Entwicklungsfähigkeiten, um die wachsende Nachfrage nach überwältigenden touch-fähigen Apps auf allen Plattformen, einschließlich WinForms, WPF und ASP.NET, zu erschließen Stellen Sie sich Business-Anwendungen für die Windows 8 Metro Entwurfsästhetik neu vor Wende Sie anspruchsvolle Designs an oder kreieren Sie Ihre eigenen und integrieren Sie Ihre Unternehmensmarke Integrieren Sie Office-inspirierte und Business Intelligence-Dashboards in Ihr Design Lassen Sie Benutzer die Daten in überzeugender Weise ansehen und bearbeiten CodeRush hilft Ihnen, Ihre komplexe Code-Basis zu erstellen und zu verwalten, so dass mehr Zeit auf Ihrer Geschäftslogik fokussiert werden kann Wählen Sie eine einzelne Plattform oder erhalten Sie mehr mit Universal oder EnterpriseAbonnements Mehr über DXperience und preisgekrönte DevExpress-Produkte unter: MonoTouch Professional ab 379 inkl. MwSt BEST-SELLER Leistungsstarke iphone- und ipad-apps mit C# und.net erstellen..net-kenntnisse zum Erstellen von Apps für iphone, ipod Touch & ipad nutzen Voller Zugriff auf alle nativen ios APIs bzw native Apps erstellen Jetzt mit leistungsstarkem Memory Profiler, Modultestsoftware Code gemeinsam für ios, Android und Windows Phone nutzen Windows 8. TFS. Xbox. WF 4.5. XAML. C++. PowerShell. NuGet. C#. Source Server DXperience DXv ab inkl. MwSt NEUES PRODUKT Windows Azure Cloud-Sicherheit 32 Verfügbarkeit, Vertraulichkeit und Integrität Windows Azure Websites 16 Von kostenfrei bis hoch verfügbar IaaS oder PaaS? 23 Azure Virtual Machines & Cloud Services PowerShell NuGet Package Manager Team Foundation Server 2012 Teil 1: Beginning PowerShell eine Einführung 64 Funktionserweiterung in Visual Studio UI-Planung via Storyboard ComponentSource. Alle Rechte vorbehalten. Alle Preise waren zum Zeitpunkt der Veröffentlichung dieses Dokuments korrekt. Online-Preise können sich aufgrund von Schwankungen und online angebotenen Preisnachlässen ändern. Hauptsitz in Europa ComponentSource 30 Greyfriars Road Reading Berkshire RG1 1PE Großbritannien Hauptsitz in den USA ComponentSource 650 Claremore Prof Way Suite 100 Woodstock GA USA Hauptsitz in Japan ComponentSource 3F Kojimachi Square Bldg 3-3 Kojimachi Chiyoda-ku Tokyo Japan Vertriebs-Hotline: Zahlungen auf Rechnung und per Inlandsüberweisung auch gerne angenommen

2 Parallelisierung in C++11. net-sprachen Teil 2: Going parallel with C++ Quellcode als Download auf Ein Muss für Skalierung Multi-Core, Vector-Unit und GPU moderne Hardware bietet heute mehr, als die meiste Software nutzt. Daher ist vielerorts Nachrüsten angesagt, Parallelisierung wird Pfl icht. Doch keine Angst, moderne Entwicklungswerkzeuge und Bibliotheken machen dies auch für C++-Programmierer zu einer durchaus zu bewältigenden Aufgabe. von Thomas Trotzki und Christian Binder Die Zeiten, in denen eine einzelne Anwendung das komplette Betriebssystem lahmlegen konnte, sind lange vorbei zu guter Letzt auch dank eines entsprechenden Parallelisierungskonzepts auf Systemebene. In Windows ist das seit Einführung von Windows NT der Fall. Mit NT 3.1 kamen im Jahr 1991 Processes und Threads sowie die Unterstützung des symmetrischen Multiprocessings. In den Folgeversionen kamen weitere Konzepte wie Fibers, Jobs und Thread Pools hinzu alles Dinge, die es uns Entwicklern einfacher machen sollen, die Multiprocessing-Fähigkeit des Systems zu nutzen. Das neueste Kind dieser Reihe: User Mode Scheduled Threads aus Windows 7. Im selben Zeitraum hat sich auch auf Ebene der Hardware einiges getan. Vor zwanzig Jahren waren bei PCs Systeme mit einer CPU und 33 MHz Taktrate angesagt. Damals wurde die Performanceverbesserung der Systeme nahezu ausschließlich mit einer Erhöhung der Taktrate gleichgesetzt. Physikalische Mehrprozessorsysteme gab es zwar, sie waren aber doch eher die Exoten. Somit konnte Parallelisierung zwar so man- Artikelserie Teil 1: Modern C++11 Teil 2: Going Parallel with C++ Teil 3: ALM for C++ 79

3 .net-sprachen. Parallelisierung in C++11 Listing 1 int _tmain(int argc, _TCHAR* argv[]) vector<int (*)[9]> v = get_sudoku_samples(); const int nfields = v.size(); for(int field = 0; field < nfields; field++) int (* sudoku) [9] = v[field]; int values = sudoku_getcount(sudoku); int solutions = sudoku_solve(sudoku, 0, 0); cout << field << " (" << values << "," << solutions << ")" << endl; delete [] sudoku; return 0; Listing 2 int _tmain(int argc, _TCHAR* argv[]) vector<int (*)[9]> v = get_sudoku_samples(); const int nfields = v.size(); task<void> *tasks = new task<void>[nfields]; critical_section cscout; for(int field = 0; field < nfields; field++) tasks[field] = task<void>([=, &cscout] () -> void int (* sudoku) [9] = v[field]; int values = sudoku_getcount(sudoku); int solutions = sudoku_solve(sudoku, 0, 0); cscout.lock(); cout << field << " (" << values << "," << solutions << ")" << endl; cscout.unlock(); delete [] sudoku; ); when_all(tasks, tasks+nfields).wait(); delete [] tasks; return 0; ches andere Problem lösen, Performancesteigerung gehörte aber nicht unbedingt dazu. Seit ca. fünf Jahren hat sich das grundlegend geändert, Hyperthreading und Multi-Core gibt es heute beim Discounter. Im Gegenzug dazu hat sich die Taktrate der Systeme nur noch eingeschränkt erhöht. Nicht mehr MHz und GHz zählen, sondern die Anzahl der Cores. Und wer davon profitieren möchte, der kommt an Parallelisierung eben nicht mehr vorbei. Das Problem: So richtig schick ist Multiprocessing mit dem klassischen Windows-API nicht unbedingt zu programmieren, sind doch Themen wie die Übergabe von Parametern und Synchronisierung recht schwierig umzusetzen. Und wenn wir in Richtung massive Parallelisierung auf einer GPU weiterdenken, dann sind wir in einer anderen Welt gelandet, die mit C++ eigentlich nichts mehr zu tun hat. Hier tut eine Neuerung dringend Not. Die Parallel Pattern Library (PPL) Für die.net-programmierer gibt es die Task Parallel Library (TPL), diese wurde in den letzten Ausgaben ausführlich vorgestellt. Für C++-Programmierer bietet Microsoft die Concurrency Runtime (ConcRT), die die Konzepte der TPL analog in die unmanaged Welt bringt. Sinn und Zweck dieser Bibliotheken ist die Abstraktion der Parallelisierung und damit eine Unabhängigkeit von den zu unterstützenden Windows-Zielplattformen. Werden auf der Zielplattform UMS Threads unterstützt, werden sie verwendet, andernfalls greift die Library auf herkömmliche Threads zurück. Die ConcRT besteht aus mehreren Teilkomponenten: Resource Manager: verwaltet Ressourcen wie Speicher und Prozessoren. Task Scheduler: stellt den Scheduler zur Verfügung, der die anstehenden Anforderungen auf die zur Verfügung stehenden Ressourcen verteilt. Parallel Pattern Library (PPL): bietet die beiden wesentlichen Aspekte parallele Schleifen und Tasks. Diese abstrahieren die Parallelisierungsmechanismen des Systems. Asynchronous Agents Library: bietet Unterstützung bei der asynchronen Bearbeitung von Datenblöcken. Im Wesentlichen ist es die PPL, die mit der TPL zu vergleichen ist. Resource Manager und Task Scheduler werden sie eher selten direkt verwenden, und auch die Agents Library wird deutlich weniger Anwendungsfälle finden. Lambdas Lambdas sind ein neues Sprachmerkmal in C++11 und wurden in der letzten Ausgabe ausführlich vorgestellt [1]. Sie spielen auch bei der Nutzung der PPL eine wesentliche Rolle, werden doch alle Thread-Prozeduren in der PPL durch Lambdas ausgedrückt. 80

4 Parallelisierung in C++11. net-sprachen Tasks, der einfache Weg zur Parallelisierung Im Gegensatz zum klassischen Win32 wird bei der Nutzung der PPL nicht unmittelbar von Threads gesprochen, sie sind lediglich eine wenngleich recht wichtige Umsetzungsoption für die Parallelisierung. Eine Task stellt eine elementare Ausführeinheit innerhalb der PPL dar und wird vom Task Scheduler der ConcRT verteilt. Bei dieser Verteilung berücksichtigt der Scheduler die auf dem Zielsystem zur Verfügung stehenden Ressourcen. Zur Veranschaulichung ein Beispiel: Sind zu einem konkreten Zeitpunkt weit mehr Tasks ausführbereit, als es physikalische Recheneinheiten gibt, so wird der Task Scheduler nicht für jede Task einen separaten System-Thread erstellen, sondern je nach Zielsystem die Tasks entweder sequenziell abarbeiten oder mehrere Tasks über UMS Threads zur Ausführung bringen. In den meisten Anwendungsfällen ist es tatsächlich so, dass wir Entwickler uns nicht um diesen Sachverhalt kümmern müssen und wollen. Die Einsatzszenarien für Parallelisierung sind vielfältig, Listing 1 zeigt eine kleine Codesequenz. Die Struktur des Codes bleibt erhalten, es wird nur Dekoration um die Schleife gebaut. Das Kernstück ist der Aufruf der Methode sudoku_ solve, die die Anzahl der möglichen Lösungen eines Sudoku-Rätsels liefert. (Hinweis: Für alle, die wissen wollen, wie Sudoku-Rätsel per Computer gelöst werden, steht der kleine Backtracking-Algorithmus als Download auf bereit) Diese Berechnung kann dauern, vor allem, wenn Sie, wie dargestellt, gleich mehrere Rätsel zu lösen haben. Mit der PPL wird die Parallelisierung recht einfach, betrachten Sie hierzu das nächste Code-Snippet in Listing 2. Die Struktur des Codes bleibt erhalten, es wird lediglich etwas Dekoration um die Schleife gebaut. Noch einfacher wird es durch die Verwendung der parallel_for-schleife, diese ist speziell für das gezeigte Szenario vorgesehen. Die Synchronisierung des Zugriffs auf gemeinsam genutzte Ressourcen im Beispiel anhand cout gezeigt wird ebenfalls durch Klassen der PPL unterstützt. Der Concurrency Visualizer Der Concurrency Visualizer hat bereits in Visual Studio 2010 Einzug gehalten. Er arbeitet mit der PPL zu- Anzeige

5 .net-sprachen. Parallelisierung in C++11 Abb. 1: CPU-Ausnutzung, parallel Abb. 2: Threads, parallel Abb. 3: Cores, parallel sammen und bietet eine recht anschauliche grafische Darstellung der Parallelisierung einer Anwendung. In Visual Studio 2010 wird der Cuncurrency Analyzer über Analyze Launch Performance Wizard gestartet, die Optionen werden im Dialog Performance Wizard auf Concurrency Visualize the behavior of a multithreaded application festgelegt. In Visual Studio 2012 hat der Concurrency Visualizer einen etwas exponierteren Eintrittspunkt erhalten und wurde bezüglich Geschwindigkeit deutlich optimiert. Hier erfolgt der Start über Analyze Concurrency Wizard Start with current Project. Die Arbeitsweise des Tools ist recht einfach: Während der Ausführung der Anwendung werden Profiling-Daten gesammelt, die anschließend ausgewertet und grafisch aufbereitet werden. Dabei liefert der Visualizer drei unterschiedliche Darstellungen, die im Folgenden anhand der parallelisierten Version des Sudoku-Solvers dargestellt werden. Die CPU-Ausnutzung unterscheidet sich deutlich zwischen sequenzieller und paralleler Ausführung. In Abbildung 1 ist auf den ersten Blick zu erkennen, wie die parallelisierte Version sich sofort nach dem Start auf alle logischen Kerne verteilt, die Gesamtlaufzeit beträgt hier ca. 5 s. Das analoge Diagramm für die sequenzielle Ausführung weist hingegen nur einen, dafür um einiges längeren Balken auf (12 s). In der Thread-Darstellung in Abbildung 2 wird deutlich, was die PPL dabei für uns leistet. Im gezeigten Beispiel werden 72 Sudoku-Rätsel mit jeweils 1 bis ca Lösungen parallel gelöst. Die PPL stellt fest, dass es nicht sinnvoll ist, tatsächlich 72 Threads zu erstellen, wo nur 8 logische Cores zur Verfügung stehen. Daneben vermittelt die Grafik auch einen raschen Eindruck vom Status der Threads und damit von der Qualität der Parallelisierung. Execution (grün), Synchronization (rot) und Preemption (gelb) wechseln sich ab. Dabei ist Preemption Overhead und daher unerwünscht, Synchronization ein Warten auf eine Systemressource. Im konkreten Beispiel haben wir recht wenig Preemption, und auch die Synchronization hält sich in Grenzen. Anhand der Cores-Darstellung in Abbildung 3 ist recht schnell zu erkennen, ob Threads auch wiederholt Listing 3 int _tmain(int argc, _TCHAR* argv[]) vector<int (*)[9]> v = get_sudoku_samples(); const int nfields = v.size(); critical_section cscout; parallel_for(0, nfields, [&cscout, v] (int field) int (* sudoku) [9] = v[field]; int values = sudoku_getcount(sudoku); int solutions = sudoku_solve(sudoku, 0, 0); cscout.lock(); cout << "(" << values << "," << solutions << ")" << endl; cscout.unlock(); delete [] sudoku; ); return 0; 82

6 Anzeige

7 Anzeige

8 Parallelisierung in C++11. net-sprachen auf demselben Core ausgeführt werden. Das bringt ebenfalls Performance, da die Wahrscheinlichkeit eines Cache-Hits steigt. Paralleles Debugging Hinsichtlich der Unterstützung beim Debugging von parallelen Anwendungen sind bereits in Visual Studio 2010 einige Merkmale in Richtung PPL integriert, Visual Studio 2012 liefert weitere Neuerungen. Breakpoints lassen sich jederzeit auch in parallel ausgeführten Code setzen, hier geht der Entwickler wie gewohnt vor. Wird ein Breakpoint von einem Thread angesprungen, werden alle Threads angehalten. Über das bereits seit Längerem vorhandene Threads Window werden die aktuellen Threads dargestellt, es kann hier auch der Kontext von einem Thread auf einen anderen umgesetzt werden. Seit Visual Studio 2010 wird in der Spalte Location auch der Call Stack dargestellt, das hilft ungemein beim Navigieren. Dabei genügt es auch, die Maus über eine Location zu bewegen, der Call Stack wird dann als Tooltip dargestellt. Analog zum Threads Window existiert auch ein Parallel Task Window, in Abbildung 4 dargestellt. Dort werden anstelle von Threads PPL-Tasks dargestellt. Tasks sind nach dem Anlegen im Status Scheduled. Erst wenn sie einem Thread zugeordnet werden, erhalten sie tatsächlich Ausführzeit (Active), zusätzlich wird in dem Parellel Task Window dann der zugeordnete Thread dargestellt. Eine Task kann auch im Status Waiting (wartet auf eine Ressource) oder Deadlock (zwei Tasks blockieren sich gegenseitig) sein. Das Parallel Stack Window bietet beim Debugging eine Orientierungshilfe und erlaubt ein schnelleres Navigieren zwischen den einzelnen Ausführeinheiten. In diesem Fenster kann über eine kleine Auswahlbox links oben zwischen Thread und Task gewechselt werden. Der Inhalt von Variablen wird beim Debuggen über Watch Window oder Locals visualisiert. Ebenfalls kann der Inhalt recht einfach über einen Tooltip ermittelt werden, es wird wie gewohnt einfach die Maus über die entsprechende Variable bewegt. Neu in Visual Studio 2012 ist das Parallel Watch Window. Dieses stellt beim Debugging die Variablen für alle Tasks dar, die die entsprechende Methode durchlaufen haben. Im Kontext unseres Backtracking-Beispiels wird die Leistungsfähigkeit des Parallel Watch Windows erst richtig deutlich. Abbildung 5 veranschaulicht, dass es bei Rekursion die entsprechenden Variablen über den gesamten Call Stack hinweg darstellt neben Thread, Task und Rekursionstiefe. Automatische Parallelisierung Hinsichtlich automatischer Parallelisierung bietet Visual C einige neue Features. Der Vorteil: Der Entwickler und seine Anwendungen profitieren hier ohne weiteres Zutun. So können z. B. Schleifen automatisch parallelisiert werden. Wird der dargestellte Abb. 4: Parallel Task Window Abb. 5: Parallel Watch bei Rekursion Code aus Listing 4 mit der Option /Qpar (Enable Parallel Code Generation) übersetzt, findet das Aufsummieren der Werte unter Nutzung von acht Threads statt. Mit #pragma loop(hint_parallel(n)) kann die Anzahl der gewünschten Threads festgelegt werden. Die Option /Qpar-report:1 veranlasst den Compiler darüber hinaus dazu, beim Übersetzen eine kleine Meldung auszugeben, ob eine Parallelisierung auch tatsächlich umgesetzt werden konnte. Automatische Nutzung von Vector Units Heutige CPUs unterstützen in der Regel Vector Units mit einem erweiterten Befehlssatz, der die Ausführung einer Operation auf mehreren Registern gleichzeitig zulässt. Konkret existieren die Register der CPU dabei mehrfach. In einem Fetch-Zyklus werden aufeinanderfolgende Daten gleichzeitig in alle Parallelregister Listing 4 int arr[0x10000]; #pragma loop(hint_parallel(8)) for(int i=1; i<0x10000; i++) int result = 0; for(int j=0; j<0x100000; j++) result = result + i + j; arr[i] = result; 85

9 .net-sprachen. Parallelisierung in C++11 übertragen. Mit dieser Option kann das Abarbeiten von Arrays proportional zur Anzahl der Parallelregister beschleunigt werden. Die Erkennung von Kandidaten für diese Optimierung funktioniert so stabil, dass sie standardmäßig aktiviert ist und explizit über #pragma loop(no_vector) für einzelne Schleifen deaktiviert werden muss. GPU-Programmierung mit C++ AMP Das Prinzip der Parallelregister wurde nicht für CPUs erfunden, sondern eher von der GPU abgeschaut. Eine GPU ist nicht unbedingt direkt mit einer CPU zu vergleichen, sind doch der Aufbau und die Arbeitsweise recht unterschiedlich. So haben GPUs kein Stack-Konzept und daher gewisse Probleme mit rekursiven Methoden. Dafür sind sie aber ausgelegt, sehr schnell die gleichen Dinge auf unterschiedlichen Daten zu machen. Erreicht wird das durch schnellen Speicher und eine massive Anzahl einfacher Cores, die alle die gleichen Befehle ausführen. Die bei GPUs verwendete Abkürzung SIMD (Single Instruction Multiple Data) umschreibt diesen Sachverhalt recht gut. Zur Veranschaulichung: Heutige Grafikkarten kommen mit 0,5-4 GB Speicher daher und verfügen über Cores da steht eine i7 CPU mit acht Cores weit hinten an. Bei einer richtigen Verteilung unserer Algorithmen auf CPU und GPU sind daher enorme Leistungsverbesserungen zu erzielen. In der Praxis wird das bislang aber nur selten umgesetzt: Shader-Code, andere Compiler und eine dürftige Integration in die Entwicklungsumgebung stellen oftmals eine zu große Hürde für den C++-Programmierer dar. Mit C++ AMP fällt diese Hürde. Der Programmierer deklariert in seinem Code die Passagen, die auf der GPU ausgeführt werden sollen. Compiler und Linker sorgen für die gesamte Infrastrukur. Konkret werden die als C++-AMP-Code gekennzeichneten Codeteile durch den normalen C++-Compiler extrahiert und da- Listing 5 template<typename _type> void mxm_single_cpu(int M, int N, int W, const std::vector<_type>& va, const std::vector<_type>& vb, std::vector<_type>& vresult) for(int k=0; k<m; ++k) for(int j=0; j<w; ++j) float result = 0.0f; for(int i=0; i<n; ++i) int idx_a = k * N + i; int idx_b = i * W + j; result += va[idx_a] * vb[idx_b]; vresult[k * W + j] = result; std::vector<float> v_a(1024*1024); std::vector<float> v_b(1024*1024); std::vector<float> v_res(1024*1024); mxm_single_cpu(1024, 1024, 1024, v_a, v_b, v_res); Listing 6 template<typename _type> void mxm_amp(int M, int N, int W, const std::vector<_type>& va, const std::vector<_type>& vb, std::vector<_type>& vresult) extent<2> e_a(m, N), e_b(n, W), e_c(m, W); array_view<const _type, 2> av_a(e_a, va); array_view<const _type, 2> av_b(e_b, vb); array_view<_type, 2> av_c(e_c, vresult); parallel_for_each(av_c.extent, [=](index<2> idx) restrict(amp) _type result = 0.0f; for(int i = 0; i < av_a.extent[1]; ++i) index<2> idx_a(idx[0], i); index<2> idx_b(i, idx[1]); result += av_a[idx_a] * av_b[idx_b]; av_c[idx] = result; ); // explicitly about copying out data av_c.synchronize(); std::vector<float> v_a(1024*1024); std::vector<float> v_b(1024*1024); std::vector<float> v_res(1024*1024); mxm_amp(1024, 1024, 1024, v_a, v_b, v_res); 86

10 Parallelisierung in C++11. net-sprachen raus HLSL (Shader Code) generiert. Dieser wird durch einen Shader Compiler übersetzt und vom Linker in das Executable integriert. Compiler und Linker sorgen auch dafür, dass entsprechende Stubs, die zur Laufzeit die Übertragung von Daten und Code zwischen CPU und GPU übernehmen, in die Anwendung integriert werden. Hierfür setzt Microsoft auf DirectX, die entsprechenden Mechanismen werden dort bereits seit Langem erfolgreich genutzt. In Listing 5 wird eine einfache Matrixmultiplikation dargestellt, die für Matrizen der Größe 1024 x 1024 auf einer CPU ca. 10 s zur Berechnung benötigt. Eine Verteilung auf die Cores der CPU bringt hier natürlich auch bereits eine gewisse Verbesserung. Jedoch werden wir selten mehr als acht Cores antreffen, im Vergleich zur GPU eher dürftig. Der gezeigte Code lässt sich mit C++ AMP wirklich sehr einfach auf einer GPU zur Ausführung bringen. Wie, zeigt die Codesequenz in Listing 6. Auch hier bleibt die Struktur des Codes erhalten, C++ AMP erfordert ebenfalls nur etwas Dekoration um die Schleife herum. extent, array_view und parallel_for_ each kommen aus einer kleinen Klassenbibliothek zu C++ AMP und sorgen für den notwendigen Transfer der Daten von und zur GPU. Restrict(amp) ist die Anweisung an den Compiler, den entsprechenden C++- Block in Shader-Code zu überführen. Abbildung 6 zeigt das Ergebnis der Bemühung über den Concurrency Visualizer. Das Ergebnis ist so gravierend, dass ganz genau hingeschaut werden muss. Rechts unten im Diagramm sind zwei recht kleine Zacken zu erkennen, das ist die Ausführung auf der GPU. Der riesige, grüne Balken darüber stellt die Ausführung auf der CPU dar. In Zahlen: Aus 10 s Rechenzeit auf der CPU werden weniger als 100 ms auf der GPU! Und die werden darüber hinaus hauptsächlich für den Transfer der Daten zur und von der GPU benötigt. Dass auch hinsichtlich Debugging bei Nutzung von C++ AMP keine größeren Einschränkungen in Kauf zu nehmen sind, dafür sorgt ein GPU-Emulator. Der Code wird zwar deutlich langsamer als auf einer physikalischen GPU ausgeführt, aber dafür können wie gewohnt Breakpoints genutzt werden, sogar das Parallel Watch Window funktioniert wird erwartet. Lediglich ein Mixed Debugging von CPU- und GPU-Code wird derzeit leider noch nicht unterstützt, es müssen zwei getrennte Debug-Sessions gestartet werden. Fazit Parallelisierung ist Pflicht! Und da ist es beruhigend zu sehen, dass Compiler-Hersteller mit Hochdruck daran arbeiten, dieses Thema für uns Entwickler einfacher zu gestalten. Microsoft hat in Visual Studio 2010 mit der Parallel Pattern Library und einer guten Werkzeugunterstützung bereits gute Vorarbeit geleistet. Diese wird mit Visual Studio 2012 noch weiter abgerundet. Use Task No Threads vorbei sind die Zeiten von CreateThread & Co, Lambdas machen das Leben leichter! Abb. 6: Performancevergleich von CPU und GPU Mit C++ AMP ist Microsoft ein weiterer, recht großer Wurf gelungen, denn nun wird die GPU für den C++-Programmierer zugänglich. Insbesondere der Aufwand für die Portierung bestehenden C++-Codes auf eine GPU wird damit deutlich minimiert. Bleibt zu wünschen, dass eine große Schar an Programmierern nun endlich die Zeit finden wird, sich um Parallelisierung zu kümmern. Denn auf Ebene der Hardware stehen wir hier sicherlich erst am Anfang, und die aktuelle Lücke sollte geschlossen werden, bevor sie zu groß wird. Thomas Trotzki ist ALM Consultant bei der artiso AG nahe Ulm und Microsoft-C++-Profi der ersten Stunde. Mit Microsoft C++ und den MFC beschäftigt er sich intensiv seit den ersten Betaversionen zu Microsoft C/C++ 7.0, also bereits vor der Geburtsstunde von Visual C++ und Visual Studio. Technologisch ist er neben C++ und den MFC auch mit COM/DCOM und der gesamten Managed Welt vertraut und hat umfangreiche Expertise im Application Lifecycle Management. Christian Binder arbeitet als ALM Architect in der Developer Platform & Strategy Group bei Microsoft Deutschland. Er arbeitet seit 1999 bei Microsoft, u. a. als Escalation Engineer, dann als Platform Strategy Manager, und kann so auf umfangreiche Erfahrungen im Bereich Application Development zurückgreifen. Auch war er im Product Development von Microsoft in Redmond tätig, was ihn 2005 zum Thema Application Lifcycle Management gebracht hat. Links und Literatur [1] Windows-Phone html 87

Visual Studio 2015* Neues für Entwickler rund um. Daniel Meixner *CTP6. Technical Evangelist Microsoft Deutschland GmbH

Visual Studio 2015* Neues für Entwickler rund um. Daniel Meixner *CTP6. Technical Evangelist Microsoft Deutschland GmbH Neues für Entwickler rund um Visual Studio 2015* Daniel Meixner Technical Evangelist Microsoft Deutschland GmbH *CTP6 @DanielMeixner DevelopersDevelopersDevelopersDevelopers.Net the small things Window

Mehr

Deutschland 8,50 Österreich 9,80 Schweiz 16,80 sfr. www.dotnet-magazin.de 7.2011. Outlook-Kalender in WPF

Deutschland 8,50 Österreich 9,80 Schweiz 16,80 sfr. www.dotnet-magazin.de 7.2011. Outlook-Kalender in WPF z.net MAGAZIN dot Alle Beispiele und Quellcodes zu den Artikeln dieser Ausgabe Bonus-Video von der BASTA! Spring 2011 Architektur für die Cloud Testversionen TeamPulse Ranorex Automation Framework dotpeek

Mehr

Windows. Windows-8-Apps. HTML5 und Blend für Visual Studio 26. Sandbox. 18 Die wichtigsten Features. RSS-Reader-App für Windows 8

Windows. Windows-8-Apps. HTML5 und Blend für Visual Studio 26. Sandbox. 18 Die wichtigsten Features. RSS-Reader-App für Windows 8 In dieser Ausgabe: Poster exklusiv für Abonnenten www.componentsource.com DXperience DXv2 12.1 ab 1.424 inkl. MwSt NEUES PRODUKT Meistgekauftes #1 ComponentSource Produkt - Ein komplettes Angebot mit Präsentations-Controls

Mehr

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Leistungs- und Geschwindigkeitssteigerung von LabVIEW-Projekten Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Agenda 1. Einführung 2. Hilfreiche Werkzeuge zur Codeanalyse 3. Benchmarks für LabVIEW-VIs

Mehr

Mit Cloud Power werden Sie zum

Mit Cloud Power werden Sie zum Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50

Mehr

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch ios - Wo steht es, wie geht es? Markus Stäuble MRM Worldwide GmbH 1 Feedback #ipdc10 #as 2 Agenda 3 Heute:

Mehr

OpenGL. (Open Graphic Library)

OpenGL. (Open Graphic Library) OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation

Mehr

Die Plattform. Wer suchet, der findet. Wo bin ich? Augmented Reality mit Bing Maps 15 Entwicklung von AR-Apps. 25 Bing als Plattform der Möglichkeiten

Die Plattform. Wer suchet, der findet. Wo bin ich? Augmented Reality mit Bing Maps 15 Entwicklung von AR-Apps. 25 Bing als Plattform der Möglichkeiten Bing JavaScript Azure Sicherheit Tools SharePoint Windows Phone 8.1 Games www.componentsource.com Xamarin.iOS and Xamarin.Android ab 862 inkl. MwSt BEST-SELLER Native ios- und Android-Apps vollständig

Mehr

Jörg Neumann Acando GmbH

Jörg Neumann Acando GmbH Jörg Neumann Acando GmbH Jörg Neumann Principal Consultant bei der Acando GmbH MVP Windows Platform Development Beratung, Training, Coaching Buchautor, Speaker Mail: Joerg.Neumann@Acando.com Blog: www.headwriteline.blogspot.com

Mehr

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10 Übersicht In den ersten Wochen: Einführung in objektorientierte Programmierung mit C++ Anschließend: Einführung in die programmierbare

Mehr

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010 Multicore Herausforderungen an das Software-Engineering Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010 Inhalt _ Motivation _ Herausforderung 1: Hardware _ Herausforderung 2: Software-Partitionierung

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Fernüberwachung via Cloud

Fernüberwachung via Cloud SQL Server 2014 Universal-Apps WinForms Azure Sicherheit Tools Windows Phone 8.1 Games www.componentsource.com ComponentOne Studio Enterprise 2014 v1 ab 1.289 inkl. MwSt BEST-SELLER NET-Tools für professionelle

Mehr

Mobile Backend in der

Mobile Backend in der Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile

Mehr

MSDN Webcast: Team Foundation Server Mehr als nur eine Versionsverwaltung! Visual Studio Team System (Teil 1 von 10) Veröffentlicht: 20.

MSDN Webcast: Team Foundation Server Mehr als nur eine Versionsverwaltung! Visual Studio Team System (Teil 1 von 10) Veröffentlicht: 20. MSDN Webcast: Team Foundation Server Mehr als nur eine Versionsverwaltung! Visual Studio Team System (Teil 1 von 10) Veröffentlicht: 20. Februar 2008 Presenter: Neno Loje, MVP für Team System www.teamsystempro.de

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Grundlagen der Parallelisierung

Grundlagen der Parallelisierung Grundlagen der Parallelisierung Philipp Kegel, Sergei Gorlatch AG Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster 3. Juli 2009 Inhaltsverzeichnis 1 Einführung

Mehr

Die beste Infrastruktur ist nur so schnell, wie der Code der darauf läuft. Fallbeispiel Wettervorhersage

Die beste Infrastruktur ist nur so schnell, wie der Code der darauf läuft. Fallbeispiel Wettervorhersage Die beste Infrastruktur ist nur so schnell, wie der Code der darauf läuft Fallbeispiel Wettervorhersage VPE Swiss Workshop, HSR 24. Januar 2013 David Müller, Tobias Gysi Vision trifft Realität. Supercomputing

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Mobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory /

Mobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory / Mobile Backend in Cloud Azure Mobile Services / Websites / Active Directory / Einführung Wachstum / Marktanalyse Quelle: Gartner 2012 2500 Mobile Internet Benutzer Desktop Internet Benutzer Internet Benutzer

Mehr

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit

Mehr

Nico Orschel AIT GmbH & Co KG Marc Müller 4tecture GmbH. 95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht

Nico Orschel AIT GmbH & Co KG Marc Müller 4tecture GmbH. 95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht Nico Orschel AIT GmbH & Co KG Marc Müller 4tecture GmbH 95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht Übersicht Gründe und Zeitpunkt für Lasttests Lasttests on Premise

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Real World Windows Azure

Real World Windows Azure Roslyn C# VB Azure Sicherheit DirectX 12 Gestensteuerung www.componentsource.com DevExpress DXperience 13.2 ab 1.293 inkl. MwSt #1 SELLER Das komplette Angebot an DevExpress.NET-Controls und Bibliotheken

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP).

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP). Produktbeschreibung Februar 2014 RTX RTOS-Plattform Mit der RTX-Echtzeitsoftware von IntervalZero wird aus Microsoft Windows ein Echtzeitbetriebssystem (RTOS). RTX64 von IntervalZero unterstützt 64-Bit-Betriebssysteme

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk Haftungsausschluss Microsoft kann für die Richtigkeit

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

Matrox Imaging Library MIL die weltweit hochprämierte und industrieerprobte Bildverarbeitungs-Bibliothek

Matrox Imaging Library MIL die weltweit hochprämierte und industrieerprobte Bildverarbeitungs-Bibliothek Matrox Imaging Library MIL die weltweit hochprämierte und industrieerprobte Bildverarbeitungs-Bibliothek Release MIL 9.2 Matrox Imaging Library weltweit ein voller Erfolg! RAUSCHER BILDVERARBEITUNG Telefon

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Mobile App development mit Xamarin. Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG

Mobile App development mit Xamarin. Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG Mobile App development mit Xamarin Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG % der Bevölkerung mit Smartphone Smartphone Durchdringung >50% 34% 43% 54% DACH

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Romano Roth & Oliver Brack Zühlke Engineering AG

Romano Roth & Oliver Brack Zühlke Engineering AG Romano Roth & Oliver Brack Zühlke Engineering AG 1600 1400 1200 1000 800 600 400 200 0 2010 2011 2012 2013 2014 2015 2016 12/11-02/12 PCs Mobilgeräte Android ios andere IDC/Nielsen 2012 Entwicklungskosten

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Cross Platform Development Heute Windows, morgen Android, übermorgen Xbox

Cross Platform Development Heute Windows, morgen Android, übermorgen Xbox Cross Platform Development Heute Windows, morgen Android, übermorgen Xbox Daniel Meixner Technical Evangelist Microsoft Deutschland GmbH @DanielMeixner DevelopersDevelopersDevelopersDevelopers.Net Programming

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

ios, Android, WP7... Alle nativ auf einen Streich!

ios, Android, WP7... Alle nativ auf einen Streich! ios, Android, WP7... Alle nativ auf einen Streich! Romano Roth und Oliver Brack Folie 1 24. September 2012 Romano Roth & Oliver Brack Kein Erfolg ohne Mobilität! 1600 1400 1200 1000 800 600 400 200 0 2010

Mehr

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland 360.NET Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland Was ist.net? Eine Strategie Eine Plattform Eine Laufzeitumgebung Eine Software-Sammlung Ein Set von Services Warum so ein Framework?

Mehr

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN VERSION 1.0 OPTIMIERUNG VON ABFRAGEN IN MS SQL

Mehr

LaVida. Mobile Endgeräte. Andreas Neupert

LaVida. Mobile Endgeräte. Andreas Neupert LaVida Mobile Endgeräte Andreas Neupert Einleitung 1 33 Was? 1) Android a. Hardware b. Entwickeln i. Tools ii. Architektur & Konzepte iii. Google App Inventor c. Benutzen versus 2) WP 7 a. Hardware b.

Mehr

Teil 5: Sammeln von Client-Log-Dateien in der Cloud

Teil 5: Sammeln von Client-Log-Dateien in der Cloud ALM Testing Micro Framework ASP.NET PowerShell Entity Framwork www.componentsource.com DevExpress DXperience 14.1 ab 1.293 inkl. MwSt #1 SELLER Das komplette Angebot an DevExpress.NET-Controls und Bibliotheken

Mehr

LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT

LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT AIT GmbH & Co. KG Ihre Software effizienter entwickelt. ÜBERSICHT GRÜNDE UND ZEITPUNKT

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

MSDN Abonnement für Visual Studio 2005

MSDN Abonnement für Visual Studio 2005 MSDN Abonnement für Visual Studio 2005 Der beste Weg, um Visual Studio zu erhalten Mit der Markteinführung von Visual Studio 2005 wird es fünf neue MSDN Premium Abonnements für Visual Studio 2005 geben:

Mehr

Webdeployment 2.0 Webanwendungen komfortabel bereitstellen, aus Hoster und Kundensicht.

Webdeployment 2.0 Webanwendungen komfortabel bereitstellen, aus Hoster und Kundensicht. Webdeployment 2.0 Webanwendungen komfortabel bereitstellen, aus Hoster und Kundensicht. Bernhard Frank Web Platform Architect Evangelist bfrank@microsoft.com Was braucht es zu einem Webserver? Webserver

Mehr

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King. http://www.t-king.de/linux/raid1.html. 2. Braunschweiger Linux-Tage Seite 1/16

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King. http://www.t-king.de/linux/raid1.html. 2. Braunschweiger Linux-Tage Seite 1/16 2. Braunschweiger Linux-Tage Vortrag über RAID von Thomas King http://www.t-king.de/linux/raid1.html 2. Braunschweiger Linux-Tage Seite 1/16 Übersicht: 1. Was ist RAID? 1.1. Wo wurde RAID entwickelt? 1.2.

Mehr

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2.

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2. Cloud Computing Frank Hallas und Alexander Butiu Universität Erlangen Nürnberg, Lehrstuhl für Hardware/Software CoDesign Multicorearchitectures and Programming Seminar, Sommersemester 2013 1. Definition

Mehr

After fire and the wheel, cloud is the new game changer.

After fire and the wheel, cloud is the new game changer. Strategie Leistungsumfang Einstiegspunkte Status Ein- Aussichten After fire and the wheel, cloud is the new game changer. Montreal Gazette, November 2011 Microsoft's Plattform Strategie You manage You

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Testers Architects Enterprise Dev Consultants Professionals VB6 Devs Part-Timers Hobbyists Students Enthusiasts Novices

Testers Architects Enterprise Dev Consultants Professionals VB6 Devs Part-Timers Hobbyists Students Enthusiasts Novices Visual Studio Team System 15. Mai 2006 TU Dresden Oliver Scheer Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH Agenda Einführung in Visual Studio Team System Demo Fragen

Mehr

Java-IDE-Vergleich Seite 1 / 5

Java-IDE-Vergleich Seite 1 / 5 Java-IDE-Vergleich Seite 1 / 5 Java-IDEs im Vergleich 1. Getestete IDEs: Borland JBuilder 3 Professional Edition IBM Visual Age 3 Entry Edition Sun Forte 1.01 Community Edition Microsoft Visual J++ 6.0

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

Mehr

Zend PHP Cloud Application Platform

Zend PHP Cloud Application Platform Zend PHP Cloud Application Platform Jan Burkl System Engineer All rights reserved. Zend Technologies, Inc. Zend PHP Cloud App Platform Ist das ein neues Produkt? Nein! Es ist eine neue(re) Art des Arbeitens.

Mehr

Entwicklungswerkzeuge & - methoden

Entwicklungswerkzeuge & - methoden Entwicklungswerkzeuge & - methoden Debugging und Logging von mobile Apps Jürgen Menge Sales Consultant, Oracle Deutschland E-Mail: juergen.menge@oracle.com +++ Bitte nutzen Sie die bevorzugte Telefonnummer

Mehr

Das etwas andere Smartphone

Das etwas andere Smartphone Das etwas andere Smartphone Frank Prengel Technical Evangelist Microsoft Deutschland GmbH http://blogs.msdn.com/windowsphone 01./02. Dezember 2010 Köln www.iphonedevcon.de Microsoft? Auf der iphone DevCon??

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

WELTOFFEN EINSATZ DES TFS IN HETEROGENEN UMGEBUNGEN (.NET UND JAVA) - WIE MAN DEN TEAM FOUNDATION SERVER IN BEIDEN WELTEN NUTZEN KANN

WELTOFFEN EINSATZ DES TFS IN HETEROGENEN UMGEBUNGEN (.NET UND JAVA) - WIE MAN DEN TEAM FOUNDATION SERVER IN BEIDEN WELTEN NUTZEN KANN WELTOFFEN EINSATZ DES TFS IN HETEROGENEN UMGEBUNGEN (.NET UND JAVA) - WIE MAN DEN TEAM FOUNDATION SERVER IN BEIDEN WELTEN NUTZEN KANN AGENDA Motivation TFS Überblick TFS Architektur & Clients Planung Entwicklung

Mehr

Willkommen zum Azure Sales Scenario Training

Willkommen zum Azure Sales Scenario Training Azure Sales Training Willkommen zum Azure Sales Scenario Training Übung macht den Meister. Das gilt auch in Situationen, in denen man Kunden von der Nützlichkeit von Microsoft Azure überzeugen möchte.

Mehr

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen?

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen? Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen? Umgebung Getestet wurde auf einem Linux-System mit voller invis-server Installation, auf dem eine virtuelle Maschine

Mehr

Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik

Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik Technologie-Allianz mit HP, Intel und NVIDIA ermöglicht Betrieb dedizierter Profi-Grafikkarten im

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2013 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

Mehr

Unternehmensportfolio

Unternehmensportfolio Unternehmensportfolio Was wir machen: Cross Plattform Mobile Applications Beispiel ansehen Was wir machen: HTML5 & CSS3 basierte Web Applikationen Beispiel ansehen Was wir machen: Windows 8 & Windows Mobile

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

Mehr

Begleitendes Praktikum zur Vorlesung Mustererkennung

Begleitendes Praktikum zur Vorlesung Mustererkennung Begleitendes Praktikum zur Vorlesung Mustererkennung WS14/15 Übersicht Kontakt Aufgaben Bibliotheken Hinweise zu C# Kontakt Internet: http://cvpr.unimuenster.de/teaching/ws1415/me_praktikum/ Softwareumgebung:

Mehr

Xamarin Applikationen Showcase aus der Praxis

Xamarin Applikationen Showcase aus der Praxis Xamarin Applikationen Showcase aus der Praxis Mark Allibone @mallibone Noser Engineering AG 2014, Alle Rechte vorbehalten. Erfahrungen Erfahrung ist der beste Lehrmeister. Nur das Schulgeld ist teuer.

Mehr

Dynamic Ressource Management

Dynamic Ressource Management best Open Systems Day Fall 2006 Dynamic Ressource Management Unterföhring Marco Kühn best Systeme GmbH kuehn@best.de Agenda Überblick Dynamic Resource Pools und FSS Dynamic Resource Memory RCAP Oracle

Mehr

TELEMETRIE EINER ANWENDUNG

TELEMETRIE EINER ANWENDUNG TELEMETRIE EINER ANWENDUNG VISUAL STUDIO APPLICATION INSIGHTS BORIS WEHRLE TELEMETRIE 2 TELEMETRIE WELCHE ZIELE WERDEN VERFOLGT? Erkennen von Zusammenhängen Vorausschauendes Erkennen von Problemen um rechtzeitig

Mehr

Microsoft Azure: Ein Überblick für Entwickler. Malte Lantin Technical Evangelist, Developer Experience & Evangelism (DX) Microsoft Deutschland GmbH

Microsoft Azure: Ein Überblick für Entwickler. Malte Lantin Technical Evangelist, Developer Experience & Evangelism (DX) Microsoft Deutschland GmbH Microsoft Azure: Ein Überblick für Entwickler Malte Lantin Technical Evangelist, Developer Experience & Evangelism (DX) Microsoft Deutschland GmbH Moderne Softwareentwicklung Microsoft Azure unterstützt

Mehr

Windows Server 2012 R2

Windows Server 2012 R2 Windows Server 2012 R2 Eine Übersicht Raúl B. Heiduk (rh@pobox.com) www.digicomp.ch 1 Inhalt der Präsentation Die wichtigsten Neuerungen Active Directory PowerShell 4.0 Hyper-V Demos Fragen und Antworten

Mehr

Mobile Applications. Adrian Nägeli, CTO bitforge AG

Mobile Applications. Adrian Nägeli, CTO bitforge AG Mobile Applications Adrian Nägeli, CTO bitforge AG Inhalt Vorstellung Marktübersicht Entwicklung Adrian Nägeli Dipl. Inf.-Ing FH Seit 2005 bei bitforge bitforge AG Standort Rapperswil-Jona Gründung 2004

Mehr

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit List & Label 16 List & Label Windows Azure List & Label Windows Azure - 2 - Inhalt Softwarevoraussetzungen 3 Schritt 1: Neues Projekt

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

GUI Programmierung mit Qt

GUI Programmierung mit Qt GUI Programmierung mit Qt C++ vs. JAVA Norman Wolf 22.04.05 GUI Programmierung mit Qt 1 Einleitung Qt wird von der norwegischen Firma Trolltech entwickelt Es ist kommerzielle Software, die aber von Trolltech

Mehr

Effizientes Memory Debugging in C/C++

Effizientes Memory Debugging in C/C++ Effizientes Memory Debugging in C/C++ Adam Szalkowski Embedded Computing Conference 2014 Ursachen/ Symptome Debugging Tools Ursachen / Symptome Was habe ich falsch gemacht? Was kann denn passieren im schlimmsten

Mehr

Vorstellung. Eckard Brandt

Vorstellung. Eckard Brandt Vorstellung Eckard Brandt Stand: 18.01.2010 Windows 7 Vorstellung der neuen Funktionen in Windows 7 Hilfestellung für Administratoren zum Umstieg von Windows XP Ausbildungsraum des RRZN Mittwoch 09.12.2009

Mehr

Begrüssung VMware Partner Exchange Update VMware Virtual SAN GA and use cases SimpliVity Converged Infrastructure Kaffeepause

Begrüssung VMware Partner Exchange Update VMware Virtual SAN GA and use cases SimpliVity Converged Infrastructure Kaffeepause we do IT better 08:30 Begrüssung VMware Partner Exchange Update VMware Virtual SAN GA and use cases SimpliVity Converged Infrastructure 10:05 10:30 Kaffeepause AirWatch Mobile Device Management VMware

Mehr

Automatisiertes UI Testing. Mark Allibone, 18.04.2013, #2

Automatisiertes UI Testing. Mark Allibone, 18.04.2013, #2 Coded UI Testing Automatisiertes UI Testing Mark Allibone, 18.04.2013, #2 Eine klassische Applikations Architektur Grafische Oberfläche Business Logik Datenzugriff (Datenbank, Cloud, etc) Mark Allibone,

Mehr

Internet Information Services v6.0

Internet Information Services v6.0 Internet Information Services v6.0 IIS History Evolution von IIS: V1.0 kostenlos auf der CeBit 1996 verteilt V2.0 Teil von Windows NT 4.0 V3.0 Als Update in SP3 von NT4.0 integriert V4.0 Windows NT 4.0

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Die Windows Workflow Foundation in Microsoft.NET 3.0

Die Windows Workflow Foundation in Microsoft.NET 3.0 Die Windows Workflow Foundation in Microsoft.NET 3.0 Klaus Rohe (klrohe@microsoft.com) Developer Platform & Strategy Group Microsoft Deutschland GmbH Agenda Was ist Windows Workflow Foundation? Microsoft

Mehr

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum 18.01.2005

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum 18.01.2005 Hochschule Bremen Rechnerstrukturen Labor I7I Thema: Grafikkarten Laborbericht Datum 18.01.2005 Carsten Eckert(83912) (72497) Fazit Für unseren Praxisteil zum Vortrag Grafikkarten haben wir uns entschieden,

Mehr

Microsoft SharePoint 2013 Vorteile und Neuheiten. Fachseminar Microsoft SharePoint 2013

Microsoft SharePoint 2013 Vorteile und Neuheiten. Fachseminar Microsoft SharePoint 2013 Microsoft SharePoint 2013 Vorteile und Neuheiten Fachseminar Microsoft SharePoint 2013 Agenda Systemanforderungen Lizensierung / Versionen Neues zu: Installation Migration Oberfläche Modern UI (Metro)

Mehr

DRESDEN. Ermitteln von Sprunghöhen mit einem Windows Phone. ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht.

DRESDEN. Ermitteln von Sprunghöhen mit einem Windows Phone. ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht. ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht DRESDEN Ermitteln von Sprunghöhen mit einem Windows Phone Felix Guttbier Schule: Gymnasium Brandis Jugend forscht 2014 ERMITTELN VON SPRUNGHÖHEN

Mehr

WPF. Windows Presentation Foundation. Sven Hubert Student Partner Microsoft Academic Program

WPF. Windows Presentation Foundation. Sven Hubert Student Partner Microsoft Academic Program WPF Windows Presentation Foundation Sven Hubert Student Partner Microsoft Academic Program Sven.Hubert@studentprogram.de 27. Nov. 2006 Agenda WPF ein Überblick WPF mit Visual Studio (Demos) WPF mit Microsoft

Mehr

Die nächste Revolution in der modelgetriebenen Entwicklung?

Die nächste Revolution in der modelgetriebenen Entwicklung? Die nächste Revolution in der modelgetriebenen Entwicklung? Me Johannes Kleiber Software Engineer bei FMC Johannes.Kleiber@fmc-ag.com Themen Überblick Window Workflow Foundation Workflows modellieren WF

Mehr

ISA Server 2004 - Best Practice Analyzer

ISA Server 2004 - Best Practice Analyzer ISA Server 2004 - Best Practice Analyzer Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Seit dem 08.12.2005 steht der Microsoft ISA Server 2004 Best Practice Analyzer

Mehr

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

Einführung in Android. 9. Dezember 2014

Einführung in Android. 9. Dezember 2014 Einführung in Android 9. Dezember 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

Mehr

C++ und mobile Plattformen

C++ und mobile Plattformen Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) C++ und mobile Plattformen Mit diesem Artikel möchte ich euch einen kurzen Überblick über die verschiedenen Plattformen für

Mehr

SHAREPOINT NEXT GENERATION EIN AUSBLICK

SHAREPOINT NEXT GENERATION EIN AUSBLICK Ihr starker IT-Partner. Heute und morgen SHAREPOINT NEXT GENERATION EIN AUSBLICK Bechtle IT-Forum Nord 27.09.2012 Emporio Tower, DE 20355 Hamburg Vorstellung Christoph Hannappel Consultant Seit 2009 bei

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr