<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Minutes February 2006</title>
<link rel="stylesheet" href="../../default_style.css" type="text/css">
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b"
	alink="#ff0000">
<table border=0 cellspacing=5 cellpadding=2 width="100%">
	<tbody>
		<tr>
			<td width="69%" class="bannertext"><font class="indextop style2">ptp
			planning meetings </font> <br>
			<font class="indexsub">parallel tools platform subproject</font></td>
			<td width="31%">
			<div align="center"><img src="../../images/Idea.jpg" width="120"
				height="86" hspace="50" align="middle"></div>
			</td>
		</tr>
	</tbody>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%">
	<tr>
		<td width="100%" align=left valign=top bgcolor="#0080C0"><strong><font
			color="#FFFFFF" face="Arial,Helvetica">Meeting Minutes </font></strong></td>
	</tr>

	<tr>
		<td align=left valign=top bgcolor="#FFFFFF">
		<p><strong>Date:</strong> February 14, 2006<br>
		<strong>Time:</strong> 1:00 PM EST</p>
		<p><strong>Attendees:</strong></p>
		<p>Rod Mach, Absoft<br>
		Beth Tibbitts, IBM<br>
		Bill Chung, IBM<br>
		Don Pazel, IBM<br>
		Wyatt Spear, University of Oregon<br>
		Greg Watson, LANL <br>
		Nathan Debardeleben, LANL <br>
		Craig Rasmussen, LANL <br>
		Gregor von Laszewski, Argonne National Lab</p>
		<ol>
			<li><b>FDT Status</b> <br>
			Craig reports the FDT release is fairly static since December.
			Integration with Photran has caused some problems. Currently the FDT
			is more stable than Photran. Craig has added a refactoring action, of
			refactoring reals to double precision.
			<p>
			<li><b>PTP Team Status</b> <br>
			Nathan is only 1/2 time on PTP now. <br>
			New PTP team member: Randy Roberts from LANL, also 1/2 time. Randy
			will focus on Job Scheduling systems, and remote systems.
			<p>Will need testers soon for binary build. Beth and Wyatt
			volunteered for Linux testing.</p>
			<p>
			<li><b>EclipseCon</b> <br>
			<a href="http://eclipseCon.org">EclipseCon</a> is March 20-23, 2006
			in Santa Clara, CA.
			<ul>
				<li>Greg's PTP "long talk" entitled <a
					href="http://www.eclipsecon.org/2006/Sub.do?id=265">Parallel
				Application Development With Eclipse</a> is Tuesday at 3:15.
				<li>[Addendum Feb. 27] A Demo entitled <a
					href="http://www.eclipsecon.org/2006/Sub.do?id=507"> Parallel Tools
				Platform Demo</a> has also been accepted and will presented by Beth
				Tibbitts - Wednesday at 2:00 pm (with a little help from her
				friends). Nathan had suggested a portable bproc cluster would be
				good for this?
				<li>A BOF (Birds of a Feather) session will be scheduled one
				evening. Date/Time to be determined.
				<li>CDT Conference is scheduled for Friday March 24.
				<br>Univ. Houston - CDT changes - Craig/Greg
			</ul>
			<p>
			<li><b>MPI and OpenMP Development tools</b>
			<br>Beth Tibbitts from IBM reported that the OpenMP tools are almost
			done to the level of the MPI tools (finding artifacts, help, content assist,
			hover help, etc.).  Also some beginnings of static analysis in finding
			regions applicable to #pragma scope.
			<p>
			<li><b>Commodity Grid (CoG)</b><br>Gregor von Laszewski from ANL gave a <a
				href="http://wiki.cogkit.org/images/4/45/Cog-eclipse.ppt">presentation</a>
			on the possible integration of the Commodity Grid (CoG) Kit with
			Eclipse PTP.
			<p>
			<li><b>Parallel Debugger (Greg)</b> <br>
			Debugger features being worked onover the next year include:
			<ol>
				<li>Missing CDT functionality - conditional breakpoints, hit counts,
				signals, memory view, etc.
				<li>Parallel Visualization - e.g. view variables from a range of
				processes. Viewing specific data structions, such as arrays, better.
				
				<li>MPI-specific debugging: debugger needs knowledge of messages,
				communicators, etc.
			</ol>
			<p>
			<li><b>PTP Scalability (Greg)</b>
			<ol>
				<li>Baseline study: how scalable is it now? Greg has 256-node
				cluster, 4 proc per node = 1024 processors. Expects o(n) scaling -
				confirmed. Startup was 15 sec.; debug operations were 7 sec per
				operation. This is comparable to TotalView for 1K processes.
				<li>Plans: (a) take advantage of MPI collectives e.g. broadcast
				communication, to control debug processes more effiently. <br>
				(b) add a process hierarchy so don't need to scan across all
				processes. Want to scale to 10K+ processes.
			</ol>
			<p>
			<li><b>Current PTP release</b> <br>
			Builds should be ready this week; Release should be shortly after
			that.
			<p>Target pre-reqs:
			<ul>
				<li>Java 1.4
				<li>CDT 3.0.x
				<li>Eclipse 3.1
			</ul>
			<p>
			<li><b>TAU plug-in (Wyatt)</b> <a
				href="http://www.cs.uoregon.edu/research/tau/home.php">TAU</a>
			(Tuning and Analysis Utilities) plug-in should be available soon.
			<p>
			<li><b>Miscellaneous</b>
			<br>Next meeting March 14
			</ul>
</table>

</body>
</html>
