Sharp

Performance Improvements

10. Mai 2012

During last blog post I said that the CRC calculation is quite slow…

That’s true, so I did some change of data structures and program flow to improve the situation. I used the following configuration:

 image

300 Messages, sweeping from 1 bit to 300 bits. That results to 90.000 messages.

Starting with BitArray: 5.8 seconds
Moving from BitArray to List<bool>: 4.4 seconds, getting better
Moving from List<bool> to bool[]: 4.4 seconds, same

Using Parallel.Foreach: 1.4 seconds, Yeah!

Before, I used Parallel.Foreach for the calculation of the messages itself, but this caused some synchronization overhead because the results of each calculations, which only lasts some milliseconds will prevent using the multicore processor efficiently.

Just using Parallels at the right place, increases speed by 300% on a 4 core i5.

But, to be honest:
1.4 seconds are still too much for about 90.000 messages. So additional work is necessary!

Sharp

Just a screenshot

09. Mai 2012

image

Added Oxyplot to show plots and added automatic increase of message length to analyze dependency between detection capabilities and message length.

The CRC calculation itself is at the moment quite slow, but acceptable.

Sharp

Windows Internals Book 6 ist da

05. Mai 2012

http://technet.microsoft.com/en-us/sysinternals/bb963901

Endlich!

Windows Internals, 6th edition covers the internals of the core kernel components of the Windows 7 and Windows Server 2008 R2 operating systems. This classic book will help you:

  • Understand how the core system and management mechanisms work—from the object manager to services to the registry
  • Explore internal system data structures using tools like the kernel debugger
  • Grasp the scheduler’s priority and CPU placement algorithms
  • Go inside the Windows security model to see how it authorizes access to data
  • Understand how Windows manages physical and virtual memory
  • Tour the Windows networking stack from top to bottom—including APIs, protocol drivers, and network adapter drivers
  • Troubleshoot file-system access problems and system boot problems
  • Learn how to analyze crashes
Sharp

Bit Error Rate Analysis Source Code

05. Mai 2012

Sourcecode for the application “Bit Error Rate Analysis” is avaiable.

https://bitbucket.org/mbrenn/bit-error-rate-analysis

Two application are available: 

  • Console application (also perfectly running under Mono)
  • WPF Application

To be compiled with Microsoft Visual C# Express or just msbuild. The binaries will be released later.

Integration with LINQPad is also working perfectly:

image

I love LINQPad! The diagram of this table is:

image

Here you can clearly see, that the CRC 0×103 is only capable to handle 2-Bit-Corruption in messages up to about 50 bits.

Sharp

Proprietäre Erweiterungen werden ‘Standard’

30. April 2012

http://www.golem.de/news/mobiles-webmonopol-opera-unterstuetzt-webkit-praefixe-1204-91476.html

Webkit hat nach und nach proprietäre Erweiterungen unter dem Kürzel ‘-webkit-‘ in den Browser eingebaut und nicht ausdrücklich betont, dass die Funktionalitäten dahinter nicht standardisiert sind und nur im Webkit funktionieren.

Es kam, wie es kommen musste… Viele Entwickler nutzten diese Möglichkeit, genauso wie früher ActiveX genutzt worden ist, weil es einfach funktioniert.

Dies verwundert mich nicht, insbesondere wenn Standardisierungsorganisationen zu langsam sind und diese nicht akzeptiert sind. So werden einzelne Hersteller/Zusammenschlüsse, wie nun Webkit den Standard prägen und andere Unternehmen werden nachfrickeln dürfen.

Schade, so verwässert man auch einen Standard.

Sharp

Enterprise Architect

29. April 2012

Enterprise Architect ist ein wunderbares, relativ kostengünstiges Tool, um technische Spezifikationen, Erläuterungen oder auch Konzepte zu schreiben.

Es unterstützt unterschiedlichste Diagrammtypen und ist Modell-Ansichts-basiert. Das heißt, dass ein Objekt in mehreren Ansichten genutzt werden kann. Wird das Objekt verändert, so verändert es sich auch in anderen Ansichten.

Um mal kurz aufzuzeigen, was dieses Tool so anbietet, habe ich ein altes Konzept, das ich bisher nicht umgesetzt habe in EA modelliert und stelle das Ergebnis zur Verfügung.

Kurz um:
Ich bin begeistert und werde mir wohl eine Lizenz zulegen, bzw. zulegen lassen. Die 30 Tage Demo-Version läuft einwandfrei.

Das Programm ist genau richtig für mich, insbesondere wenn man auf viel Projekt-Bloat steht…

Die Reports:
http://depon.net/temp/ea/datamodel.pdf
http://depon.net/temp/ea/requirements.pdf
http://depon.net/temp/ea/usecase.pdf

Das Modell in Webansicht:
http://depon.net/temp/ea/web/

Ein paar Screenshots:

image

image

Sharp

#CRC and its effectiveness

28. April 2012

Habe beschlossen, dass ich hin und wieder mal eine Zusammenfassung von Informationen zu einem bestimmten Thema in Powerpoint- oder auch Word-Form gieße.

Zuerst um ein Nachschlagewerk aufzubauen und zweitens ein paar Informationen auch weiter zu verbreiten.

Das erste Thema wird sich mit Kommunikation beschäftigen und Informationen über die Effektivität von CRC-Algorithmen zusammentragen. Gleichzeitig entwickle ich gerade ein Programm mit dessen Hilfe man die Zuverlässigkeit der Detektion mit Hilfe von CRCs bestimmen kann.

Nun aber zu den Folien:

http://www.depon.net/downloads/pres/crcpart1.pdf