HTCondor Project List Archives



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-devel] Condor disk size



Impressive.

What do you think about making the lib names less generic, say libcondorutils instead of libutils? Especially since none actually come with headers.

Condor libs - procd_client, daemon_core, daemon_client, procapi, cedar, privsep, sysapi, ccb, utils

Very poorly named lib - condorapi (log reader not even used by dagman, iirc)

Ok to assume elimination of --allow-shlib-undefined is left as an exercise for the hopelessly heroic?

Best,


matt

On 05/19/2011 10:05 PM, Brian Bockelman wrote:
Hi,

Michael Hanke's shared libraries work (#2132) got put into a separate branch today, so I've had a lovely evening porting it over to our local RHEL5 RPM (which is basically the Fedora RPM plus Globus support and other goodies enabled).  Unfortunately, there were a handful of issues that didn't make the porting clean.

The difference in on-disk size is, as expected, significant.  For reference, the "big mother" unstripped tarball at UW is 448MB and the UW RPM is 184MB.  Recall these include all externals as static libs, while the rest of the RPMs below link to them (so this isn't an "apples" comparison).

First, the PROPER build with static linking of condor libraries:

[brian@brian-test condor]$ ll ~/rpmbuild/RPMS/x86_64/condor-*7.6.1-0.7.pre.x86_64.rpm  -h
-rw-r--r-- 1 brian brian  38M May 17 09:35 /home/brian/rpmbuild/RPMS/x86_64/condor-7.6.1-0.7.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 236K May 17 09:35 /home/brian/rpmbuild/RPMS/x86_64/condor-classads-7.6.1-0.7.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 299K May 17 09:35 /home/brian/rpmbuild/RPMS/x86_64/condor-classads-devel-7.6.1-0.7.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 157M May 17 09:39 /home/brian/rpmbuild/RPMS/x86_64/condor-debuginfo-7.6.1-0.7.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 775K May 17 09:35 /home/brian/rpmbuild/RPMS/x86_64/condor-kbdd-7.6.1-0.7.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 2.0M May 17 09:35 /home/brian/rpmbuild/RPMS/x86_64/condor-qmf-7.6.1-0.7.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 1.6M May 17 09:35 /home/brian/rpmbuild/RPMS/x86_64/condor-vm-gahp-7.6.1-0.7.pre.x86_64.rpm

Now, with the shared library patches:

[brian@brian-test condor]$ ll ~/rpmbuild/RPMS/x86_64/condor-*7.6.1-0.9.pre.x86_64.rpm  -h
-rw-r--r-- 1 brian brian 4.7M May 19 20:34 /home/brian/rpmbuild/RPMS/x86_64/condor-7.6.1-0.9.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 236K May 19 20:34 /home/brian/rpmbuild/RPMS/x86_64/condor-classads-7.6.1-0.9.pre.x86_64.rpm
-rw-r--r-- 1 brian brian  77K May 19 20:34 /home/brian/rpmbuild/RPMS/x86_64/condor-classads-devel-7.6.1-0.9.pre.x86_64.rpm
-rw-r--r-- 1 brian brian  22M May 19 20:34 /home/brian/rpmbuild/RPMS/x86_64/condor-debuginfo-7.6.1-0.9.pre.x86_64.rpm
-rw-r--r-- 1 brian brian  28K May 19 20:34 /home/brian/rpmbuild/RPMS/x86_64/condor-kbdd-7.6.1-0.9.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 413K May 19 20:34 /home/brian/rpmbuild/RPMS/x86_64/condor-qmf-7.6.1-0.9.pre.x86_64.rpm
-rw-r--r-- 1 brian brian 143K May 19 20:34 /home/brian/rpmbuild/RPMS/x86_64/condor-vm-gahp-7.6.1-0.9.pre.x86_64.rpm

4.7MB ain't shabby!  Shared libraries being shared libraries, you can now peruse all the linked baggage of the svelte 73KB condor_q.  See below.

Dynamic libraries have all the advantages of dynamic libraries and all the disadvantages of dynamic libraries.  No need to revisit them here ... but I thought the data point about binary size was interesting enough to share!

Brian


[brian@brian-test condor]$ ldd /usr/bin/condor_q
	linux-vdso.so.1 =>   (0x00007fffda7c4000)
	libdl.so.2 =>  /lib64/libdl.so.2 (0x0000003feb200000)
	libconversion.so =>  /usr/lib64/libconversion.so (0x00007f722b2ad000)
	libanalysis.so =>  /usr/lib64/libanalysis.so (0x00007f722b06d000)
	libqmgmt.so =>  /usr/lib64/libqmgmt.so (0x00007f722ae62000)
	libprocd_client.so =>  /usr/lib64/libprocd_client.so (0x00007f722ac58000)
	libdaemon_client.so =>  /usr/lib64/libdaemon_client.so (0x00007f722aa15000)
	libprocapi.so =>  /usr/lib64/libprocapi.so (0x00007f722a80b000)
	libcedar.so =>  /usr/lib64/libcedar.so (0x00007f722a59e000)
	libprivsep.so =>  /usr/lib64/libprivsep.so (0x00007f722a399000)
	libclassads.so =>  /usr/lib64/libclassads.so (0x00007f722a111000)
	libsysapi.so =>  /usr/lib64/libsysapi.so (0x00007f7229e60000)
	libccb.so =>  /usr/lib64/libccb.so (0x00007f7229c42000)
	libutils.so =>  /usr/lib64/libutils.so (0x00007f7229880000)
	libvomsapi.so.0 =>  /usr/lib64/libvomsapi.so.0 (0x0000003a2b000000)
	libglobus_gss_assist.so.3 =>  /usr/lib64/libglobus_gss_assist.so.3 (0x000000384ce00000)
	libglobus_gssapi_gsi.so.4 =>  /usr/lib64/libglobus_gssapi_gsi.so.4 (0x000000384d200000)
	libglobus_gsi_proxy_core.so.0 =>  /usr/lib64/libglobus_gsi_proxy_core.so.0 (0x000000384ba00000)
	libglobus_gsi_credential.so.1 =>  /usr/lib64/libglobus_gsi_credential.so.1 (0x000000384de00000)
	libglobus_gsi_callback.so.0 =>  /usr/lib64/libglobus_gsi_callback.so.0 (0x000000384c600000)
	libglobus_gsi_sysconfig.so.1 =>  /usr/lib64/libglobus_gsi_sysconfig.so.1 (0x000000384b600000)
	libglobus_oldgaa.so.0 =>  /usr/lib64/libglobus_oldgaa.so.0 (0x000000384d600000)
	libglobus_gsi_cert_utils.so.0 =>  /usr/lib64/libglobus_gsi_cert_utils.so.0 (0x000000384be00000)
	libglobus_openssl.so.0 =>  /usr/lib64/libglobus_openssl.so.0 (0x000000384ca00000)
	libglobus_openssl_error.so.0 =>  /usr/lib64/libglobus_openssl_error.so.0 (0x000000384c200000)
	libglobus_proxy_ssl.so.1 =>  /usr/lib64/libglobus_proxy_ssl.so.1 (0x0000003ff2e00000)
	libglobus_callout.so.0 =>  /usr/lib64/libglobus_callout.so.0 (0x000000384da00000)
	libglobus_common.so.0 =>  /usr/lib64/libglobus_common.so.0 (0x000000384b200000)
	libltdl.so.3 =>  /usr/lib64/libltdl.so.3 (0x0000003feda00000)
	libexpat.so.0 =>  /lib64/libexpat.so.0 (0x0000003d68200000)
	libpcre.so.0 =>  /lib64/libpcre.so.0 (0x0000003ff0200000)
	libssl.so.6 =>  /lib64/libssl.so.6 (0x00000031f0c00000)
	libcrypto.so.6 =>  /lib64/libcrypto.so.6 (0x0000003fede00000)
	libkrb5.so.3 =>  /usr/lib64/libkrb5.so.3 (0x0000003feee00000)
	libcom_err.so.2 =>  /lib64/libcom_err.so.2 (0x0000003fee600000)
	libk5crypto.so.3 =>  /usr/lib64/libk5crypto.so.3 (0x0000003fef600000)
	libkrb5support.so.0 =>  /usr/lib64/libkrb5support.so.0 (0x0000003feea00000)
	libdaemon_core.so =>  /usr/lib64/libdaemon_core.so (0x00007f7229629000)
	libstdc++.so.6 =>  /usr/lib64/libstdc++.so.6 (0x0000003a2ac00000)
	libm.so.6 =>  /lib64/libm.so.6 (0x0000003feae00000)
	libgcc_s.so.1 =>  /lib64/libgcc_s.so.1 (0x0000003a2a800000)
	libpthread.so.0 =>  /lib64/libpthread.so.0 (0x0000003feb600000)
	libc.so.6 =>  /lib64/libc.so.6 (0x0000003feaa00000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003fea600000)
	libz.so.1 =>  /usr/lib64/libz.so.1 (0x0000003feba00000)
	libgssapi_krb5.so.2 =>  /usr/lib64/libgssapi_krb5.so.2 (0x00000031ef400000)
	libkeyutils.so.1 =>  /lib64/libkeyutils.so.1 (0x0000003fee200000)
	libresolv.so.2 =>  /lib64/libresolv.so.2 (0x0000003fece00000)
	libselinux.so.1 =>  /lib64/libselinux.so.1 (0x0000003fec200000)
	libsepol.so.1 =>  /lib64/libsepol.so.1 (0x0000003fec600000)
[brian@brian-test condor]$ ldd /usr/sbin/condor_shadow
	linux-vdso.so.1 =>   (0x00007fffb8bff000)
	libdl.so.2 =>  /lib64/libdl.so.2 (0x0000003feb200000)
	libqmgmt.so =>  /usr/lib64/libqmgmt.so (0x00007f7035a14000)
	libprocd_client.so =>  /usr/lib64/libprocd_client.so (0x00007f7035809000)
	libdaemon_core.so =>  /usr/lib64/libdaemon_core.so (0x00007f70355ba000)
	libdaemon_client.so =>  /usr/lib64/libdaemon_client.so (0x00007f7035378000)
	libprocapi.so =>  /usr/lib64/libprocapi.so (0x00007f703516d000)
	libcedar.so =>  /usr/lib64/libcedar.so (0x00007f7034f00000)
	libprivsep.so =>  /usr/lib64/libprivsep.so (0x00007f7034cfc000)
	libclassads.so =>  /usr/lib64/libclassads.so (0x00007f7034a73000)
	libsysapi.so =>  /usr/lib64/libsysapi.so (0x00007f70347c2000)
	libccb.so =>  /usr/lib64/libccb.so (0x00007f70345a5000)
	libutils.so =>  /usr/lib64/libutils.so (0x00007f70341e2000)
	libvomsapi.so.0 =>  /usr/lib64/libvomsapi.so.0 (0x0000003a2b000000)
	libglobus_gss_assist.so.3 =>  /usr/lib64/libglobus_gss_assist.so.3 (0x000000384ce00000)
	libglobus_gssapi_gsi.so.4 =>  /usr/lib64/libglobus_gssapi_gsi.so.4 (0x000000384d200000)
	libglobus_gsi_proxy_core.so.0 =>  /usr/lib64/libglobus_gsi_proxy_core.so.0 (0x000000384ba00000)
	libglobus_gsi_credential.so.1 =>  /usr/lib64/libglobus_gsi_credential.so.1 (0x000000384de00000)
	libglobus_gsi_callback.so.0 =>  /usr/lib64/libglobus_gsi_callback.so.0 (0x000000384c600000)
	libglobus_gsi_sysconfig.so.1 =>  /usr/lib64/libglobus_gsi_sysconfig.so.1 (0x000000384b600000)
	libglobus_oldgaa.so.0 =>  /usr/lib64/libglobus_oldgaa.so.0 (0x000000384d600000)
	libglobus_gsi_cert_utils.so.0 =>  /usr/lib64/libglobus_gsi_cert_utils.so.0 (0x000000384be00000)
	libglobus_openssl.so.0 =>  /usr/lib64/libglobus_openssl.so.0 (0x000000384ca00000)
	libglobus_openssl_error.so.0 =>  /usr/lib64/libglobus_openssl_error.so.0 (0x000000384c200000)
	libglobus_proxy_ssl.so.1 =>  /usr/lib64/libglobus_proxy_ssl.so.1 (0x0000003ff2e00000)
	libglobus_callout.so.0 =>  /usr/lib64/libglobus_callout.so.0 (0x000000384da00000)
	libglobus_common.so.0 =>  /usr/lib64/libglobus_common.so.0 (0x000000384b200000)
	libltdl.so.3 =>  /usr/lib64/libltdl.so.3 (0x0000003feda00000)
	libexpat.so.0 =>  /lib64/libexpat.so.0 (0x0000003d68200000)
	libpcre.so.0 =>  /lib64/libpcre.so.0 (0x0000003ff0200000)
	libssl.so.6 =>  /lib64/libssl.so.6 (0x00000031f0c00000)
	libcrypto.so.6 =>  /lib64/libcrypto.so.6 (0x0000003fede00000)
	libkrb5.so.3 =>  /usr/lib64/libkrb5.so.3 (0x0000003feee00000)
	libcom_err.so.2 =>  /lib64/libcom_err.so.2 (0x0000003fee600000)
	libk5crypto.so.3 =>  /usr/lib64/libk5crypto.so.3 (0x0000003fef600000)
	libkrb5support.so.0 =>  /usr/lib64/libkrb5support.so.0 (0x0000003feea00000)
	libstdc++.so.6 =>  /usr/lib64/libstdc++.so.6 (0x0000003a2ac00000)
	libm.so.6 =>  /lib64/libm.so.6 (0x0000003feae00000)
	libgcc_s.so.1 =>  /lib64/libgcc_s.so.1 (0x0000003a2a800000)
	libpthread.so.0 =>  /lib64/libpthread.so.0 (0x0000003feb600000)
	libc.so.6 =>  /lib64/libc.so.6 (0x0000003feaa00000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003fea600000)
	libz.so.1 =>  /usr/lib64/libz.so.1 (0x0000003feba00000)
	libgssapi_krb5.so.2 =>  /usr/lib64/libgssapi_krb5.so.2 (0x00000031ef400000)
	libkeyutils.so.1 =>  /lib64/libkeyutils.so.1 (0x0000003fee200000)
	libresolv.so.2 =>  /lib64/libresolv.so.2 (0x0000003fece00000)
	libselinux.so.1 =>  /lib64/libselinux.so.1 (0x0000003fec200000)
	libsepol.so.1 =>  /lib64/libsepol.so.1 (0x0000003fec600000)




_______________________________________________
Condor-devel mailing list
Condor-devel@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/condor-devel