[Lustre-discuss] [ROMIO Req #940] a new Lustre ADIO driver]

emoly.liu Emoly.Liu at Sun.COM
Tue Jun 2 20:19:00 PDT 2009


Hi all,

Sorry for my late reply. These days I'm quite busy with something.

I have read through the problems reported by all of you. Thanks for your 
kindly reports and fix.

I check my codes and run some tests on MPICH2-1.0.7, but I can't 
reproduce all of the problems.
Then I saw the email by pescal. Thanks for pescal's shedding light on me.

Our lustre adio driver is developed based on MPICH2-1.0.7, where some 
variables were defined with 32-bit.
But in the new MPICH2 release, some of them are changed into 64-bit, as 
pescal mentioned.
I think it is one of the factors which caused the failure.

I will check our driver and new romio codes thoroughly, do some tests as 
you suggested,
then post a patch for MPICH2-1.1 later.

Thanks,
LiuYing

pascal.deveze at bull.net wrote:
> Hi,
>
> I downloaded the last version of the Lustre ADIO driver on mpich2-1.1rc1.
>
> I saw that the parametre len_list_ptr of function ADIOI_Calc_my_off_len()
> has been modified in include/adioi.h:
> int **len_list_ptr (32 bits)  has been changed to
> ADIO_Offset **len_list_ptr (64 bits)
>
> So, I propose to change in ad_lustre_aggregate;c, line 122:
> void ADIOI_LUSTRE_Calc_my_req(ADIO_File fd, ADIO_Offset *offset_list,
>                               int *len_list, int contig_access_count,
> <==== here is the change
>                               int *striping_info, int nprocs,
>                               int *count_my_req_procs_ptr,
>                               int **count_my_req_per_proc_ptr,
>                               ADIOI_Access **my_req_ptr,
>                               int **buf_idx_ptr)
>
>
> And in ad_lustre_wrcoll.c, line 84 :
>
>     ADIO_Offset *offset_list = NULL, *st_offsets = NULL, *end_offsets =
> NULL, *len_list = NULL;
>     int *buf_idx = NULL, *striping_info = NULL;
> instead of:
>     ADIO_Offset *offset_list = NULL, *st_offsets = NULL, *end_offsets =
> NULL;
>     int *buf_idx = NULL, *len_list = NULL, *striping_info = NULL;
>
> Without these changes, len_list[i] (where i is 1,3,5,7 ...) in the routine
> ADIOI_LUSTRE_Calc_my_req
> are null.
>
> I will now pass some tests and I hope make contributions.
>
> Regards,
>
>
> Pascal DEVEZE
> R&D HPC
> Bull France
>
>
> _______________________________________________
> Lustre-discuss mailing list
> Lustre-discuss at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-discuss
>   


-- 
Best regards,

LiuYing
System Software Engineer, Lustre Group
Sun Microsystems ( China ) Co. Limited




More information about the lustre-discuss mailing list