<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: CPU performance:  Clock Speed or Cores in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48890#M27776</link>
    <description>I have not witnessed a single instance of JMP use more than 6 cores out of 12 on a Windows 7 desktop. It usually chugs along with 25% processor usage.</description>
    <pubDate>Tue, 19 Dec 2017 22:57:15 GMT</pubDate>
    <dc:creator>ih</dc:creator>
    <dc:date>2017-12-19T22:57:15Z</dc:date>
    <item>
      <title>CPU performance:  Clock Speed or Cores</title>
      <link>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48885#M27774</link>
      <description>&lt;P&gt;When running JMP, would it be better to have more cores at lower frequency or vice versa? I thought it was the case that very few of the platforms were threaded so that would lead me to believe that clock speed is more important.&amp;nbsp; But I'm not sure this is still true.&amp;nbsp; I know I'm speaking in a general case and that's next to impossible to accurately speak to.&amp;nbsp; Thanks anyway.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 22:02:00 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48885#M27774</guid>
      <dc:creator>vince_faller</dc:creator>
      <dc:date>2017-12-19T22:02:00Z</dc:date>
    </item>
    <item>
      <title>Re: CPU performance:  Clock Speed or Cores</title>
      <link>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48886#M27775</link>
      <description>&lt;P&gt;Vince,&lt;/P&gt;
&lt;P&gt;Most of the analytical platforms are multi-threaded, while, JSL is mostly single threaded.&amp;nbsp; So it is a mixed case.&amp;nbsp; What I suggest, is to open the Task Manager, and then the Perfomance Tab within it.&amp;nbsp; Then if you run your typical job flow, you will clearly see when your applications are hitting on multiple cores and when it is single core.&amp;nbsp; From there, you can make your decision.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 22:11:24 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48886#M27775</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2017-12-19T22:11:24Z</dc:date>
    </item>
    <item>
      <title>Re: CPU performance:  Clock Speed or Cores</title>
      <link>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48890#M27776</link>
      <description>I have not witnessed a single instance of JMP use more than 6 cores out of 12 on a Windows 7 desktop. It usually chugs along with 25% processor usage.</description>
      <pubDate>Tue, 19 Dec 2017 22:57:15 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48890#M27776</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2017-12-19T22:57:15Z</dc:date>
    </item>
    <item>
      <title>Re: CPU performance:  Clock Speed or Cores</title>
      <link>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48891#M27777</link>
      <description>&lt;P&gt;My findings are different, and it may be due to the platforms I have been testing with.&amp;nbsp; When I run a Random Forrest, I easily run on all cpus, under both on Windows 7 and Windows 10.&amp;nbsp; On average, taking up 35%+ of total cpu capability.&amp;nbsp; I only have 8 processes....not your wonderful total of 12, but all 8 are working on the problem.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Dec 2017 00:50:39 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48891#M27777</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2017-12-20T00:50:39Z</dc:date>
    </item>
    <item>
      <title>Re: CPU performance:  Clock Speed or Cores</title>
      <link>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48920#M27789</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2610"&gt;@vince_faller&lt;/a&gt;:&amp;nbsp;to answer your original question my personal recommendation to optimize one copy of JMP (on windows) is to get the fastest 4 or 6 processors you can.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2687"&gt;@txnelson&lt;/a&gt;: I should have been more clear, JMP often uses a fraction of all of the cores, but it does not use them all to capacity.&amp;nbsp;&amp;nbsp;That leads me to believe that JMP is running with fewer than 8 or 12 actual 'worker' threads, and the processing is moved from core to core by the operating system.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This property of JMP bothers me, thus I spent some time testing my theory that JMP only uses a fraction of the total cores. Here are results when concurrently running 1, 2, 3, or&amp;nbsp;4 copies&amp;nbsp;of the script below each in their own&amp;nbsp;instance of JMP.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One Instance&lt;/P&gt;&lt;P&gt;19-21 seconds&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CPU 1.PNG" style="width: 611px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/8776i6234B532DD7F25FB/image-size/large?v=v2&amp;amp;px=999" role="button" title="CPU 1.PNG" alt="CPU 1.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Two Instances&lt;/P&gt;&lt;P&gt;26-28 seconds&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CPU 2.PNG" style="width: 607px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/8777i000687DB2FAC07EA/image-size/large?v=v2&amp;amp;px=999" role="button" title="CPU 2.PNG" alt="CPU 2.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Three Instances&lt;/P&gt;&lt;P&gt;34-39 seconds&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CPU 3.PNG" style="width: 605px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/8778iC25B445C7B85F3EC/image-size/large?v=v2&amp;amp;px=999" role="button" title="CPU 3.PNG" alt="CPU 3.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Four Instances&lt;/P&gt;&lt;P&gt;43-47 seconds&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="cpu 4.PNG" style="width: 610px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/8779i84B5E2F3FB676973/image-size/large?v=v2&amp;amp;px=999" role="button" title="cpu 4.PNG" alt="cpu 4.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The time to run two copies at once&amp;nbsp;is certainly less than the time to run one twice:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="cpu times.png" style="width: 312px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/8780i1B4BE85AD845338D/image-size/large?v=v2&amp;amp;px=999" role="button" title="cpu times.png" alt="cpu times.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names default to here( 1);

dt = Open( "$Sample_data/probe.jmp", Private );
Random reset(1);
valcol = dt &amp;lt;&amp;lt; New Column( "Validation",
	Numeric, "Nominal", Set formula( Random Category( 0.75, 0, 0.25, 1, 2 ) ),
	Value Labels( {0 = "Training", 1 = "Validation", 2 = "Test"} ), Use Value Labels( 1 )
);
dt &amp;lt;&amp;lt; Run Formulas; valcol &amp;lt;&amp;lt; Delete Formula;

timeboot = Function( {},
	start = Today();
	xvars = Substitute(Char((dt &amp;lt;&amp;lt; Get Column Names)[8::394]), "{", "", "}", "");
	
	Eval( Parse(
		"rf = dt &amp;lt;&amp;lt; Bootstrap Forest(
			Y( :Process ),
			X( " || xvars || " ),
			Validation Portion( :Validation ),
			Method( \!"Bootstrap Forest\!" ),
			Portion Bootstrap( 1 ),
			Number Terms( 30 ),
			Number Trees( 2000 ),
			Early Stopping( 0 ),
			Go
		);"
	));
	
	
	rf &amp;lt;&amp;lt; Close Window;
	end = Today();
	return(end - start);
);

win = New window("Time Bootstrap",
	V List Box(
		r = text box( "", &amp;lt;&amp;lt; Set Width( 100 ) ),
		H List Box(
			Button Box( "Start",  r &amp;lt;&amp;lt; Set Text( Char( timeboot() ) || " seconds" ) ),
			Button Box( "Close", dt &amp;lt;&amp;lt; Close Window; win &amp;lt;&amp;lt; Close Window; )
		)
	)
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Dec 2017 14:46:21 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48920#M27789</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2017-12-20T14:46:21Z</dc:date>
    </item>
    <item>
      <title>Re: CPU performance:  Clock Speed or Cores</title>
      <link>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48940#M27802</link>
      <description>&lt;P&gt;How well JMP uses the available processors depends on which analysis platform is running and the data being processed. Here's JMP running Text Explorer during the text parsing phase, on long documents, with number of rows &amp;gt; number of processors. (Other platforms will behave differently and some will not be able to take advantage of threading. Text Explorer's parsing is something I've worked with recently.)&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="100% busy" style="width: 636px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/8784i0F1B8CAD57940A95/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture1.PNG" alt="100% busy" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;100% busy&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Text Explorer's algorithms are not always able to keep the machine 100% busy. Some work depends on other work being completed first, and some work that is threaded competes for resources (like memory access) in a way that makes threads wait.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;dt = New Table( "bigtext",
    Add Rows( 1000 ),
    New Column( "text", Character, "Nominal", formula( Repeat( "aaa bbb ccc ", 1e5 ) ) )
);

dt &amp;lt;&amp;lt; Text Explorer(
    Text Columns( :text )
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Adding more CPUs has a limit; here all 32/64 CPUs look busy but the work is proceeding at about the same rate:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="100% busy but not making progress much faster" style="width: 999px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/8785i44BB3520491B348E/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture2.PNG" alt="100% busy but not making progress much faster" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;100% busy but not making progress much faster&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I suspect these CPUs are getting in each other's way. A GB of documents moving through memory has a lot of opportunity&amp;nbsp;to churn the cache memory in the CPUs. Mostly JMP is developed on machines with 4 to 12 CPUs and that's likely to be what the algorithms are tuned for. For example, after Text Explorer finishes the parsing step, it combines the parsing results using half of the processors because we determined that was faster than using all of them...on an 8 CPU machine.&lt;/P&gt;
&lt;P&gt;So, yes, 4-12 CPUs, faster CPUs, and enough memory to avoid paging. If you don't have enough memory to hold the data without paging to disk, nothing else will help.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Dec 2017 20:33:58 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/CPU-performance-Clock-Speed-or-Cores/m-p/48940#M27802</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2017-12-20T20:33:58Z</dc:date>
    </item>
  </channel>
</rss>

