Archives

Posts from Asaf Shelly RSS

Asaf Shelly

Parallel Computing & Cloud http://Asyncop.com Hardware and Software commando http://asaf.shelly.co.il

Mathematical Parallelization By Compilers

By Asaf Shelly (31 posts) on October 21, 2011 at 8:42 am
Comments (10)

This is not to say that compilers can automatically parallelize code. I would however really like to see that happen and here is an interesting and reliable way to parallelize operations. If a compiler can use this method of thinking then it can also be used as hints for developers writing code today. C and [...]

Continued ›

Category: Academic, Parallel Programming, Software Tools
Tags: ,

Flaws of Object Oriented Modeling Continue

By Asaf Shelly (31 posts) on October 21, 2011 at 8:36 am
Comments (0)

I am posting this as a response to all comments to a previous post called “Flaws of Object Oriented Modeling”. That post created a live discussion that also continued to forums on other websites. It seems that we got so used to OOP and OOD that it sounds like it is the only way to go, [...]

Continued ›

Category: Academic, Parallel Programming
Tags: ,

Stop Saying "Lock Free Solution"

By Asaf Shelly (31 posts) on September 21, 2011 at 1:24 pm
Comments (6)

I am writing this at the airport, just coming back from the Intel IDF event. I keep hearing that we have "Lock Free" solutions for all sorts of problems. I think that this is a really bad choice of words. Let me try to explain why: My story starts with a friend who bought a [...]

Continued ›

Category: Academic, Parallel Programming
Tags: ,

Performance Presentation: Concepts Behind Parallel Computing and Extended CPU Instructions

By Asaf Shelly (31 posts) on April 13, 2011 at 8:50 am
Comments (1)

As you may have already read in a previous post called Personal Review of Intel Under-NDA Sandy-Bridge Event I held the last session in an Intel-Under-NDA event. The presentation was called Performance and covered the different aspects of parallel computing and also the new Sandy Bridge AVX Instructions. I have introduced this new feature in a previous post [...]

Continued ›

Category: Parallel Programming
Tags: , , ,

Personal Review of Intel Under-NDA Sandy-Bridge Event

By Asaf Shelly (31 posts) on February 28, 2011 at 9:50 am
Comments (3)

Hi All, Early this month Intel held an event about the Sandy Bridge architecture and other near future developments. Attendees signed an NDA before entering the event and the material presented was really interesting to hear. The room was packed to no room with what looked to me like over 500 people sitting and listening. The [...]

Continued ›

Category: Events, Parallel Programming
Tags: , , , , ,

Visual Studio 2010 Built-in CPU Acceleration

By Asaf Shelly (31 posts) on December 20, 2010 at 4:04 pm
Comments (5)

Writing the sample code for this post I was amazed myself to see how simple it was to reach over 20 times performance improvement with so little effort.    The motivation is a very heavy video processing algorithm created for HD TV. This means hi-resolution which means many pixels to compute and it also means that [...]

Continued ›

Category: Parallel Programming, Performance and Optimization, Power Efficiency, Software Tools
Tags: , , , , , , , , ,

How Multi-core increases Software Reliability

By Asaf Shelly (31 posts) on November 6, 2010 at 2:26 pm
Comments (5)

There are several aspects of software reliability. One aspect for example can be detected by the compiler by doing simple type checking. On the complete opposite side there is business logic and its faults. This is what we really want to focus on. Business logic is the hardest part to debug and verify. The rain-forests [...]

Continued ›

Category: Academic, Mobility, Parallel Programming, Performance and Optimization
Tags: , ,

Design Your System To Automatically Test Itself

By Asaf Shelly (31 posts) on September 24, 2010 at 8:24 am
Comments (1)

In average programmers write only 10 lines of code per day and that includes copy-pasting from the Internet. Sure, every system can be designed using just four blocks and every programmer can write over 1000 lines of code every day. What's stopping us from working so fast are the bugs. Beginner programmers write the code very fast, then things [...]

Continued ›

Category: Parallel Programming
Tags: , , , , , ,

Parallel Architecture: From Adhocracy To Bureaucracy

By Asaf Shelly (31 posts) on August 19, 2010 at 3:11 pm
Comments (3)

These past few weeks I have been busy to the extreme. Some good events and some are less happy events. The most important of which is having our first baby boy. You can really test your time management skills when you have no time... A wise man once told me that there is always time: [...]

Continued ›

Category: Academic, Parallel Programming, Software Tools
Tags: , , , , , , ,

Automatic Parallelization: Design Pattern

By Asaf Shelly (31 posts) on July 1, 2010 at 3:23 pm
Comments (5)

It is a well known fact that using more CPU cores will result in more processing power. The problem is that most algorithms have some degree of dependency. For example: X[n] = (X[n-1] * 12) + 11 Y[n] = (Sqrt( X[n] * X[n-1] ) + 15) * 33 See the part in red: X[n-1]. This means [...]

Continued ›

Category: Academic, Parallel Programming, Software Tools
Tags: , ,

My Conclusions on Parallel Computing

By Asaf Shelly (31 posts) on April 9, 2010 at 11:10 am
Comments (7)

We have been dealing with parallel computing for some while now. Some of the ideas we had at the start proved to be wrong while others are only becoming relevant in the near future. No doubt about it, parallel computing was pushed and forced into the mainstream of computing just as Object Oriented was in [...]

Continued ›

Category: Academic, Parallel Programming, Software Tools
Tags: , , , ,

Hardware support for Locks

By Asaf Shelly (31 posts) on February 22, 2010 at 1:00 pm
Comments (29)

Locks are a problematic mechanism because they can potentially slow down the system. Sometimes you just need them, usually when working with low-level API and the lower levels of an infrastructure. There are four basic ways for using a lock: * Spin-lock : will retain the CPU core until a condition is met * Atomic [...]

Continued ›

Category: Academic, Parallel Programming
Tags: ,

Review: Avoiding Heap Contention Among Threads

By Asaf Shelly (31 posts) on February 22, 2010 at 9:51 am
Comments (0)

I was just previewing the Intel Guide for Developing Multithreaded Applications and the section on Avoiding Heap Contention Among Threads peeked my interest. I definitely recommend that you read it. Simple read, all the information you need right away without going around in circles, and proves that there is always something new to learn. For me that [...]

Continued ›

Category: Academic, Parallel Programming, Software Tools
Tags: , ,

The Future of Internet

By Asaf Shelly (31 posts) on December 31, 2009 at 1:01 pm
Comments (1)

Around Y2K a friend and I had an idea for a phone that works over the Internet by connecting to USB. The time was not so great because of that bubble. A few years later Skype did it. After that I went into the area of media and Internet video and broadcasting. Part of this [...]

Continued ›

Category: Academic, Parallel Programming, Software Tools
Tags: ,

Intel & Microsoft TechEd Europe 2009

By Asaf Shelly (31 posts) on December 2, 2009 at 9:11 am
Comments (3)

Microsoft TechEd 2009 was a wonderful experience. So many T-Shirts, pens, and chances to win prizes... There was also something technical there, a session or two, Windows 7 features, Silverlight for Windows CE C++, Parallel Computing, Visual Studio 2010, and more and more.... Between session to session we visited the exhibition and had too much [...]

Continued ›

Category: Events, Intel® AppUp Developer Program, Parallel Programming
Tags: , , ,

TechEd 2009 Europe

By Asaf Shelly (31 posts) on November 5, 2009 at 5:05 pm
Comments (0)

Hi All, If you are going to the event next week in Berlin then let me know about it. Maybe we can meet face to face and if there are enough of us perhaps even a gourp community meeting. This can be a good opportunity to meet the experts. In any case, you are all [...]

Continued ›

Category: Academic, Events, Mobility, Parallel Programming, Site News & Announcements, Software Tools
Tags: , , ,

State-Phase Programming

By Asaf Shelly (31 posts) on September 2, 2009 at 1:22 pm
Comments (0)

It has been relatively easy for us to follow the path of a serial application. Today we face the need to execute several processes in parallel and thus have several execution paths at the same time. This is harder for us to manage and keeping track of this flow is complex. The Stack-Trace is no longer the state of the application. The post speaks of using States and Phases to keep track of application operations.

Continued ›

Category: Academic, Open Source, Parallel Programming, Software Tools
Tags:

Stateful Programming - A Case Study

By Asaf Shelly (31 posts) on July 27, 2009 at 8:41 am
Comments (3)

A case study of Stateful Programming: a class of students tought Stateful Programming before Object Oriented Programming.

Continued ›

Category: Parallel Programming, Software Tools
Tags: ,

Stateful Programming - a key element

By Asaf Shelly (31 posts) on April 30, 2009 at 8:24 am
Comments (0)

A key feature of Object Oriented Programming is code manageability and reusability, key feature of Procedural Programming is flow manageability. A key element in flow manageability is Stateful Programming. This methodology is very common with Procedural programmers and is very uncommon with Object Oriented programmers, but it is easily applicable. I have recently decided to [...]

Continued ›

Category: Open Source, Parallel Programming, Software Tools
Tags: ,

All Sorts of Sorts

By Asaf Shelly (31 posts) on April 27, 2009 at 8:28 am
Comments (27)

Hi all, As some of you may already know I am getting married May 11'th. Yes, yes, a very happy occasion. Doesn't leave time for anything... Well, there is enough for a blog post but not enough for writing code and doing some QA. I actually started with the Radix-Sort Challenge (Threading-Challenge-2009) but couldn't find [...]

Continued ›

Category: Parallel Programming, Software Tools
Tags: ,

The Value of Infrastructure

By Asaf Shelly (31 posts) on April 6, 2009 at 12:49 pm
Comments (3)

Much have been said about parallel computing and parallel programming. There are many methods to approach this area, such as using low level API, many types of libraries, language extensions, and so on. The best approach is the one that out-lived time and stayed with us through the different generation of computer technologies. These are [...]

Continued ›

Category: Parallel Programming, Software Tools
Tags: , ,

FileSystem as a synchronization infrastructure

By Asaf Shelly (31 posts) on March 25, 2009 at 7:54 am
Comments (0)

FileSystem has long evolved into an Object Store which manages named objects for the Kernel. This makes it as an excellent infrastructure for synchronous operations

Continued ›

Category: Parallel Programming
Tags: ,

Locks Are Bad!!!

By Asaf Shelly (31 posts) on March 24, 2009 at 9:32 am
Comments (10)

Students are tought to use Locks such as MUTEXs and Critical Sections. We are also told that a MUTEX is a type of Semaphore. Don't use locks unless you really really have to because locks are bad!

Continued ›

Category: Parallel Programming, Software Tools
Tags: , , ,

CPU Auxiliary Cores

By Asaf Shelly (31 posts) on February 4, 2009 at 5:11 pm
Comments (9)

Today I wish to share with you a model of a system that is a design pattern for parallel processing that you will probably not see in too many places. This model comes from a big and heavy organization that needs very fast responses, which for itself is a contradiction...

Continued ›

Category: Academic, Parallel Programming, Software Tools
Tags: , , ,

Intel's Parallel SDK - a positive approach

By Asaf Shelly (31 posts) on December 10, 2008 at 8:54 am
Comments (2)

The world of computers started with machine language and Assembly. Then we got languages like C with power focus of Library Functions. The appearance of C Run-time Libraries (a.k.a. CRT or RTL) provided some layer of abstraction and there was no need to intimately know the inner implementations of system functionalities. Operating System API are [...]

Continued ›

Category: Parallel Programming
Tags: , ,

Is DOS the ideal parallel environment - Part IV

By Asaf Shelly (31 posts) on October 29, 2008 at 12:21 pm
Comments (10)

This is the fourth and last part of this article. Previous parts surveyed Windows User Mode and UNIX. Part 3 of this article covered Windows Kernel. The discussion is how parallel are these operating systems and we save the best for last: This last part of the article raises a surprising question 'Is DOS the [...]

Continued ›

Category: Parallel Programming, Software Tools
Tags: , , ,

Is DOS the ideal parallel environment - Part III

By Asaf Shelly (31 posts) on September 15, 2008 at 12:19 pm
Comments (1)

Part 2 of this article talked about the parallel design of the UNIX operating system that was highley advanced at the time. This part talks about the design and implementation of the Windows NT Kernel that managed to maintain the original parallel design to a large extent. This article is presented as background information for a [...]

Continued ›

Category: Parallel Programming, Software Tools
Tags: , , ,

Is DOS the ideal parallel environment - Part II

By Asaf Shelly (31 posts) on September 2, 2008 at 4:47 pm
Comments (0)

Part 2 of a four parts article that investigates the parallelism support in design of common operating systems today. This part of the article describes the evolution of UNIX systems in regards to parallel operations.

Continued ›

Category: Parallel Programming
Tags: , , , ,

Is DOS the ideal parallel environment - Part I

By Asaf Shelly (31 posts) on August 25, 2008 at 3:55 pm
Comments (8)

Previous article described the evolution of computer languages from early days Assembly to Object Oriented languages favored today. The emphasis was that early languages had clear execution flow that could be abused into "spaghetti code" (so many jumps / GoTos in the code that it becomes unmanageable), and on the other hand computer languages evolved [...]

Continued ›

Category: Parallel Programming
Tags: , , ,

Flaws of Object Oriented Modeling

By Asaf Shelly (31 posts) on August 22, 2008 at 12:50 pm
Comments (27)

Introduction to Operation View Modelng: motivation. Flaws of Object Oriented Modeling

Continued ›

Category: Parallel Programming
Tags: , , , ,

Intel Software Guest Blogger Asaf Shelly - About Me

By Asaf Shelly (31 posts) on August 13, 2008 at 10:11 am
Comments (1)

As a first post I present myself with a few words.

Continued ›

Category: Parallel Programming
Tags: , , ,