Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / January 2008

Tip: Looking for answers? Try searching our database.

Using Java with Dual & Quad Processors.

Thread view: 
Sanny - 10 Jan 2008 09:24 GMT
I have a function which I call using for loop. I want that when My
Java program is run on Dual Core its speed increases by twice and when
it run on Quad core its speed increase 4 time.

Here is the Code I am using.

const NUMBER=1000;
Public int int_x;
Public int[] Array1= new int[NUMBER];

init (){
for (int i=0;i<NUMBER;i++){

function_abc(i);
}
}

// function_abc returns same value for a given Value of "i".

function_abc(int i){
int_x++;
...
...
...
Array1[i]=i*5+int_x;
}

So in the end we get an Array[i] with the formula values. On a single
processor it goes through all the for loop in NUMBER times.

I want on Dual Core the Performance doubles by using Threads. So
function_abc(i); is Called in multiple threads and Speed increases X
times depending on number of X Processors the System has.

How can it be done, any idea.

So for Single Core it will have no spped increase.

For Dual Core Twice Speed

For Quad Core 4 Times speed is seen.

Bye
Sanny
Lew - 10 Jan 2008 13:48 GMT
> I have a function which I call using for loop. I want that when My
> Java program is run on Dual Core its speed increases by twice and when
> it run on Quad core its speed increase 4 time.

Amdahl's Law precludes a full linear speed increase with more processors, but
you should be able to reach some significant fraction with careful coding.

> Here is the Code I am using.
>
> const NUMBER=1000;
> Public int int_x;
> Public int[] Array1= new int[NUMBER];

I guarantee you that you aren't using this code, at least not in Java.  This
stuff will not compile.

> init (){
> for (int i=0;i<NUMBER;i++){
[quoted text clipped - 21 lines]
>
> How can it be done, any idea.

I suggest that you write a full, single-core implementation and post it here
for comment.  Make sure that you actually run your program, or try to.  Even
if it doesn't do everything you plan, it should do something at every stage of
development.  At the very least, this will give you compilable code to post to
Usenet, unlike now, or at the very, very least, compiler errors to ask about.

If you do ask about compiler errors, please post your entire short but
*complete* example with your question(s), and do literally copy and paste the
error message(s) into your post - do not paraphrase.

Any example should be an SSCCE - simple short complete compilable example (my
version of Andrew's acronym).

Signature

Lew

Roedy Green - 10 Jan 2008 14:48 GMT
On Thu, 10 Jan 2008 01:24:47 -0800 (PST), Sanny
<softtanks@hotmail.com> wrote, quoted or indirectly quoted someone who
said :

>How can it be done, any idea.

A thread has a fairly high start up cost, so there is not much gained
to great a thread just to initialize an array. Also for threads to
work well they should not be poking at the same ram or they just trip
over each other.

So want to split your app up in ways that don't overlap, e.g.
computation and painting the GUI, or doing I/O and computing,

You might do it by splitting your data in 4 parts and turning a thread
loose on each part.

Design your app so you can vary the number of threads to optimal
performance determined by experiment.
Signature

Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.