Do you need a gaurdian angle?

(2008年08月07日)发表于JRoller

Couple of months ago I was invited, thanks to my professor Nir Shavit, for a one week seminar in Germany.

There in the middle of an amazing forest, sits an amazing castle taken from a fairytale.

So, on a green grass near a fresh cold water river we discussed for a week about Transactional Memory.


Transactional Memory is one of those things that the first time you hear about your eyes are opened and you start to believe all your problems are over…

Finally I found my guardian angle!

But then you start to think “how the hell are they going to implement it?”, will it crawl?, and all the semantic issues…


For those who are not familiar with the term Transactional Memory™, the idea is release the programmer from all his concurrency worries.

No more deadlocks, no more bottlenecks and no more thinking about locks/synchronized/volatile semantic.

All you need to do is to mark a block of your code as an “atomic” and your thread will feel as if runs alone.


For more details and interesting see Wikipedia: Software transactional memory


We started working on a Java implementation couple of weeks ago. To prove that the idea is feasible.

We even choose an appropriate name for it – Deuce

So, stay tuned! we're about to release Software Transactional Memory for Java™ in the next couple of weeks.

阅读全文...
本站相关内容:

Do you need to build it yourself?

I’ve worked in many organisations and one thing that never ceases to amaze me is how often teams build unnecessary tools and frameworks.

Yet again, I have to use a bespoke defect tracking system. This is the third one I’ve come across and none of them are as good as a Commercial off the Shelf (COTS) solution and definitely cost more to develop than to buy.

In the past, I’ve also seen in-house developed: IDEs, email clients, database admin tools, UML tools etc. Perhaps it’s more fun to write tools than the boring, business functionality your client/users needs but does it offer any value?

As a software/systems architect it’s your job to deliver value to the business you work for. Whenever someone suggests creating a bespoke tool ask yourself the following:

  • Can I buy something to do this?
  • Can I use or tailor an open source product?
  • Can I use or create a template for a standard tool like Eclipse, Word or Excel?

Be pragmatic in your decision and avoid wasting your limited time and resources on things you don’t need to do!

How Much Do You Need?

Click here to see the worksheet below If you have a family that's dependent on your income, then you need life insurance. Exactly how much? Truth be told, many of us have too much life insurance - thanks to fast-talking sales reps. We'll help you find

Do You Really Need Java7?

It’s a long wait for Java 7 and there’s a lot of speculation about what we can expect once the final JSR is out. I took a look through the what’s coming up to find out if there’s anything I actually needed. One thing that struck me about the whole thing is that maybe there’s less demand for a new Java version because of the following reasons: The advancements made in both Java 5 and 6 have satisfied most of our development needs from the JDK. One of the main things I was looking forward to in

Do you always need index on WHERE column ?

I believe we wrote about this before, but this topic popups again and again. Today I've read opinion that if we have clause WHERE has_something=1 we should have index on column `has_something` (the column has two values 0 and 1). In reality the right answer is not so simple. Let's look next table PLAIN TEXT SQL: CREATE TABLE `testr` (   [...]

Poll – Do You Need Distributed JUnits?

Junits (or unit tests in general) is embarrassingly parallel problem that begs to be grid enabled. We have seen countless projects where builds take 30 mins and more just because hundreds of JUnits are running sequentially on a single box. By simple grid enabling this process you can cut your build time in times and have much quicker turn around on QA making the whole development process instantly more agile.  

The question is:    do you really need it? 

 

Here is how you can distribute unit testing with GridGain's upcoming JUnit and TestNG integration (we are about to ship it in GridGain 1.6 release). 

 

   1. Just start couple of grid nodes (as many as you like or have); nodes can be anywhere in the world for that matter as long as GridGain is properly configured:

 

     
  

 

   2. Use    GridJunit3TestSuite (for JUnit3) instead of regular test suite and then use your favorite Java IDE and its JUnit integration as you usually do. Following example shows that tests A and B will be executed sequentially as a group and test C will be executed in parallel with A and B. Both A and B group and test C will be executed on remote nodes (i.e. on the grid):

 

  

 

Note that the entire semantic of running JUnits from Java IDE is fully preserved as well as all UI toolling works as before.

 

THAT'S ALL!

 

   Leave a comment if you like the idea and would like to see it in our product.

互联网相关内容:
Do you need to build it yourself? (2007年11月12日)
How Much Do You Need? (2008年06月11日)
Do You Really Need Java7? (2008年10月17日)
Do you always need index on WHERE column ? (2007年08月29日)
Poll – Do You Need Distributed JUnits? (2007年09月24日)
How many Booleans do you need? (2007年10月10日)
COPYRIGHT NOTICE PRWeb - You do not need (2007年10月15日)
Why do you need a laptop? Try PortableApps.com (2007年10月19日)
How many Tomcats do you need? (2007年12月04日)