Permalink
Browse files

This commit was manufactured by cvs2svn to create tag

'slurm-0-4-9-1'.
  • Loading branch information...
1 parent 5ab7088 commit e891e08b41fdaf952cc89633ad1b433ccc4d5b5e no author committed Mar 16, 2005
View
4 META
@@ -9,8 +9,8 @@
Name: slurm
Major: 0
Minor: 4
- Micro: 6
- Version: 0.4.6
+ Micro: 9
+ Version: 0.4.9
Release: 1
API_CURRENT: 6
API_AGE: 4
View
12 NEWS
@@ -1,9 +1,19 @@
This file describes changes in recent versions of SLURM. It primarily
documents those changes that are of interest to users and admins.
+* Changes in SLURM 0.4.9
+========================
+ -- setpnum works now, have to include this in bluegene.conf
+
+* Changes in SLURM 0.4.8
+========================
+ -- Changed the prolog and the epilog to use the env var MPIRUN_PARTITION
+ instead of BGL_PARTITION_ID
+
* Changes in SLURM 0.4.7
========================
- -- Remove some BGL specific headers that IBM now distributes.
+ -- Remove some BGL specific headers that IBM now distributes, NOTE
+ BGL driver 080 or greater required.
-- Change autogen.sh to deal with problems running autoconf on one
system and configure on another with different software versions.
View
@@ -33,7 +33,7 @@ AC_DEFUN([X_AC_BGL],
fi
have_bgl_ar=yes
- bgl_ldflags="$bgl_ldflags -Wl,-rpath $bgl_dir/lib -Wl,-L$bgl_dir/lib -Wl,-whole-archive -Wl,-lbglbridge -Wl,-no-whole-archive $bgl_dir/lib/bglbootload.a $bgl_dir/lib/bglsp440supt.a -lbgldb -lbglmachine -ltableapi -lexpat -lbglsp"
+ bgl_ldflags="$bgl_ldflags -Wl,-rpath $bgl_dir/lib -Wl,-L$bgl_dir/lib -Wl,-whole-archive -Wl,-lbglbridge -Wl,-no-whole-archive $bgl_dir/lib/bglbootload.a $bgl_dir/lib/bglsp440supt.a -lsaymessage -lbgldb -lbglmachine -ltableapi -lexpat -lbglsp"
fi
# Search for required DB2 library in the directory
View
@@ -99,7 +99,7 @@
The script that you submit to SLURM can contain multiple invocations of mpirun as
well as any desired commands for pre- and post-processing.
The mpirun command will get its <i>bglblock</i> or BGL partition information from the
-<i>BGL_PARTITION_ID</i> as set by SLURM. A sample script is shown below.
+<i>MPIRUN_PARTITION</i> as set by SLURM. A sample script is shown below.
<pre>
#!/bin/bash
# pre-processing
@@ -185,11 +185,11 @@
and interfaces.
The value of <i>SchedulerType</i> should be set to "sched/builtin".
The value of <i>Prolog</i> should be set to a program that will delay
-execution until the bglblock identified by the BGL_PARTITION_ID environment
+execution until the bglblock identified by the MPIRUN_PARTITION environment
variable is ready for use. It is recommended that you construct a script
that serves this function and calls the supplied program <i>slurm_prolog</i>.
The value of <i>Epilog</i> should be set to a program that will wait
-until the bglblock identified by the BGL_PARTITION_ID environment
+until the bglblock identified by the MPIRUN_PARTITION environment
variable has been freed. It is recommended that you construct a script
that serves this function and calls the supplied program <i>slurm_epilog</i>.
The prolog and epilog programs are used to insure proper synchronization
@@ -15,7 +15,7 @@ BlrtsImage=/bgl/BlueLight/ppcfloor/bglsys/bin/rts_hw.rts
LinuxImage=/bgl/BlueLight/ppcfloor/bglsys/bin/zImage.elf
MloaderImage=/bgl/BlueLight/ppcfloor/bglsys/bin/mmcs-mloader.rts
RamDiskImage=/bgl/BlueLight/ppcfloor/bglsys/bin/ramdisk.elf
-#ChangeNumpsets=/etc/slurm/change_numpsets
+Numpsets=8
#
# Define the static partitions (bglblocks)
@@ -52,6 +52,7 @@ List bgl_found_part_list = NULL; /* found bgl partitions */
char *bluegene_blrts = NULL, *bluegene_linux = NULL, *bluegene_mloader = NULL;
char *bluegene_ramdisk = NULL;
char *change_numpsets = NULL;
+int numpsets;
bool agent_fini = false;
/* some local functions */
@@ -352,7 +353,9 @@ extern int create_static_partitions(List part_list)
}
list_iterator_destroy(itr_found);
if(found_record == NULL) {
+ printf("yeap\n");
#ifdef HAVE_BGL_FILES
+ printf("found one %s\n",bgl_record->nodes);
//bgl_record->node_use = SELECT_VIRTUAL_NODE_MODE;
configure_partition(bgl_record);
print_bgl_record(bgl_record);
@@ -828,16 +831,17 @@ extern int read_bgl_conf(void)
fatal("MloaderImage not configured in bluegene.conf");
if (!bluegene_ramdisk)
fatal("RamDiskImage not configured in bluegene.conf");
- if (!change_numpsets)
- info("Warning: ChangeNumpsets not configured in bluegene.conf");
-
+ if (!numpsets)
+ info("Warning: Numpsets not configured in bluegene.conf");
+
/* Check to see if the configs we have are correct */
if (!_validate_config_nodes()) {
_delete_old_partitions();
/* FIXME: Wait for MMCS to actually complete the
* partition deletions */
sleep(3);
}
+
/* looking for partitions only I created */
if (create_static_partitions(NULL)) {
/* error in creating the static partitions, so
@@ -880,14 +884,14 @@ static int _parse_bgl_spec(char *in_line)
char *nodes = NULL, *conn_type = NULL, *node_use = NULL;
char *blrts_image = NULL, *linux_image = NULL;
char *mloader_image = NULL, *ramdisk_image = NULL;
- char *change = NULL;
+ char *pset_num=NULL;
bgl_record_t *bgl_record, *found_record;
error_code = slurm_parser(in_line,
"BlrtsImage=", 's', &blrts_image,
"LinuxImage=", 's', &linux_image,
"MloaderImage=", 's', &mloader_image,
- "ChangeNumpsets=", 's', &change,
+ "Numpsets=", 's', &pset_num,
"Nodes=", 's', &nodes,
"RamDiskImage=", 's', &ramdisk_image,
"Type=", 's', &conn_type,
@@ -918,11 +922,10 @@ static int _parse_bgl_spec(char *in_line)
bluegene_ramdisk = ramdisk_image;
ramdisk_image = NULL; /* nothing left to xfree */
}
- if (change) {
- xfree(change_numpsets);
- _strip_13_10(change);
- change_numpsets = change;
- change = NULL; /* nothing left to xfree */
+ if (pset_num) {
+ _strip_13_10(pset_num);
+ numpsets = atoi(pset_num);
+ xfree(pset_num);
}
/* Process node information */
@@ -963,6 +966,7 @@ static int _parse_bgl_spec(char *in_line)
bgl_record->node_use = SELECT_COPROCESSOR_MODE;
else
bgl_record->node_use = SELECT_VIRTUAL_NODE_MODE;
+ bgl_record->partner = NULL;
} else {
/* If not then we will make both. */
@@ -973,6 +977,9 @@ static int _parse_bgl_spec(char *in_line)
found_record = (bgl_record_t*) xmalloc(sizeof(bgl_record_t));
list_push(bgl_list, found_record);
+ bgl_record->partner = found_record;
+ found_record->partner = bgl_record;
+
found_record->bgl_part_list = bgl_record->bgl_part_list;
found_record->hostlist = bgl_record->hostlist;
found_record->nodes = xstrdup(bgl_record->nodes);
@@ -60,16 +60,15 @@
#include "bgl_job_run.h"
#include "state_test.h"
-#define PSETS_PER_BP 8
-#define USER_NAME "nobody"
+#define USER_NAME "slurm"
/* Global variables */
extern rm_BGL_t *bgl;
extern char *bluegene_blrts;
extern char *bluegene_linux;
extern char *bluegene_mloader;
extern char *bluegene_ramdisk;
-extern char *change_numpsets;
+extern int numpsets;
extern pa_system_t *pa_system_ptr;
extern int DIM_SIZE[PA_SYSTEM_DIMENSIONS];
@@ -80,7 +79,7 @@ extern bool agent_fini;
typedef int lifecycle_type_t;
enum part_lifecycle {DYNAMIC, STATIC};
-typedef struct {
+typedef struct bgl_record {
char *nodes; /* String of nodes in partition */
char *owner_name; /* Owner of partition */
pm_partition_id_t bgl_part_id; /* ID returned from MMCS */
@@ -95,6 +94,7 @@ typedef struct {
int bp_count; /* size */
int switch_count;
bitstr_t *bitmap;
+ struct bgl_record *partner;
} bgl_record_t;
typedef struct {
@@ -180,3 +180,4 @@ extern int configure_partition_switches(bgl_record_t * bgl_conf_record);
extern int bgl_free_partition(pm_partition_id_t part_id);
#endif /* _BLUEGENE_H_ */
+
@@ -89,8 +89,6 @@ static void _print_list(List list)
*/
static void _pre_allocate(bgl_record_t *bgl_record)
{
- int psets = (PSETS_PER_BP * bgl_record->bp_count);
-
rm_set_data(bgl_record->bgl_part, RM_PartitionBlrtsImg,
bluegene_blrts);
rm_set_data(bgl_record->bgl_part, RM_PartitionLinuxImg,
@@ -103,7 +101,7 @@ static void _pre_allocate(bgl_record_t *bgl_record)
&bgl_record->conn_type);
rm_set_data(bgl_record->bgl_part, RM_PartitionMode,
&bgl_record->node_use);
- rm_set_data(bgl_record->bgl_part, RM_PartitionPsetNum, &psets);
+ rm_set_data(bgl_record->bgl_part, RM_PartitionPsetNum, &numpsets);
rm_set_data(bgl_record->bgl_part, RM_PartitionUserName, USER_NAME);
}
@@ -127,12 +125,12 @@ static int _post_allocate(bgl_record_t *bgl_record)
/* Get back the new partition id */
rm_get_data(bgl_record->bgl_part, RM_PartitionID, &part_id);
bgl_record->bgl_part_id = xstrdup(part_id);
- if (change_numpsets) {
- memset(command,0,255);
- sprintf(command,"%s %s", change_numpsets, part_id);
- info("%s",command);
- system(command);
- }
+ /* if (change_numpsets) { */
+/* memset(command,0,255); */
+/* sprintf(command,"%s %s", change_numpsets, part_id); */
+/* info("%s",command); */
+/* system(command); */
+/* } */
/* We are done with the partition */
rm_free_partition(bgl_record->bgl_part);
@@ -65,9 +65,9 @@ int main(int argc, char *argv[])
if (!job_id)
fprintf(stderr, "SLURM_JOBID not set\n");
- part_name = getenv("BGL_PARTITION_ID"); /* get partition ID */
+ part_name = getenv("MPIRUN_PARTITION"); /* get partition ID */
if (!part_name) {
- fprintf(stderr, "BGL_PARTITION_ID not set for job %s\n",
+ fprintf(stderr, "MPIRUN_PARTITION not set for job %s\n",
job_id);
exit(0);
}
@@ -62,7 +62,7 @@ int main(int argc, char *argv[])
#define MIN_DELAY 300 /* time in seconds */
#define INCR_DELAY 20 /* time in seconds per BP */
int max_delay=MIN_DELAY;
-int cur_delay=0;
+int cur_delay=0;
static char *_part_state_str(rm_partition_state_t state);
static void _wait_part_ready(char *part_name);
@@ -76,9 +76,9 @@ int main(int argc, char *argv[])
if (!job_id)
fprintf(stderr, "SLURM_JOBID not set\n");
- part_name = getenv("BGL_PARTITION_ID"); /* get partition ID */
+ part_name = getenv("MPIRUN_PARTITION"); /* get partition ID */
if (!part_name) {
- fprintf(stderr, "BGL_PARTITION_ID not set for job %s\n",
+ fprintf(stderr, "MPIRUN_PARTITION not set for job %s\n",
job_id);
exit(0);
}
View
@@ -258,7 +258,7 @@ mgr_spawn_task(spawn_task_request_msg_t *msg, slurm_addr *cli,
/*
* Run a prolog or epilog script. Sets environment variables:
* SLURM_JOBID = jobid, SLURM_UID=uid, and
- * BGL_PARTITION_ID=bgl_part_id (if not NULL)
+ * MPIRUN_PARTITION=bgl_part_id (if not NULL)
* Returns -1 on failure.
*/
extern int
@@ -296,7 +296,7 @@ run_script(bool prolog, const char *path, uint32_t jobid, uid_t uid,
setenvpf(&env, "SLURM_JOBID", "%u", jobid);
setenvpf(&env, "SLURM_UID", "%u", uid);
if (bgl_part_id)
- setenvpf(&env, "BGL_PARTITION_ID", "%s", bgl_part_id);
+ setenvpf(&env, "MPIRUN_PARTITION", "%s", bgl_part_id);
execve(path, argv, env);
error("help! %m");
@@ -989,7 +989,7 @@ _setup_batch_env(slurmd_job_t *job, batch_job_launch_msg_t *msg)
select_g_get_jobinfo(msg->select_jobinfo,
SELECT_DATA_PART_ID, &bgl_part_id);
if (bgl_part_id) {
- setenvpf(&job->env, "BGL_PARTITION_ID", "%s", bgl_part_id);
+ setenvpf(&job->env, "MPIRUN_PARTITION", "%s", bgl_part_id);
xfree(bgl_part_id);
}
View
@@ -52,7 +52,7 @@ int mgr_launch_batch_job(batch_job_launch_msg_t *msg, slurm_addr *client);
/*
* Run a prolog or epilog script. Sets environment variables:
* SLURM_JOBID = jobid, SLURM_UID=uid, and
- * BGL_PARTITION_ID=bgl_part_id (if not NULL)
+ * MPIRUN_PARTITION=bgl_part_id (if not NULL)
* Returns -1 on failure.
*/
extern int run_script(bool prolog, const char *path, uint32_t jobid, uid_t uid,

0 comments on commit e891e08

Please sign in to comment.