User:Kr
From Apache OpenOffice Wiki
Contents
Contact
- Mail: mailto:Kay.Ramme@sun.com
Background
- Full name is Kay Ramme
- Uno (UDK) Project Lead of OOo
- Located in Hamburg, Germany
- Employed by Sun Microsystems
Some Thoughts
- User_talk:Kr/Parameterized Headers
- User_talk:Kr/UNO References
- User:Kr/Software Continuum
- User:Kr/On Modularization
- User:Kr/On_Streams
GullFOSS
- My Visions
- ODF being a Disruptive Technology
- Memory Savings by String internalization
- AAWAX or How to Check Out OpenOffice.org fast
- Updated Uno Web Pages
- The Java platform becoming Open Source
Some Scripts
Building OOo
Unix and relatives
./conco -v Master=SRC680 -v CWS=unomacli64 # 'create' the unowinreg.dll touch external/unowinreg/unowinreg.dll # configure the office to be build cd config_office # Linux x86 ./configure --disable-mozilla --without-nas # Linux x64 and Java 1.6 ./configure --disable-mozilla --without-nas --with-system-hsqldb # MacOSX ./configure --disable-mozilla --without-nas --disable-gtk --disable-gnome-vfs --disable-headless # Win32 ./configure --disable-mozilla --disable-directx --with-cl-home="/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC" --with-frame-home="/cygdrive/c/Program Files/Microsoft Visual Studio 8/SDK/v2.0" --with-psdk-home="/cygdrive/d/PSDK" --with-midl-path="/cygdrive/d/PSDK/Bin" --with-asm-home="/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC" --with-jdk-home="/cygdrive/d/j2sdk1.4.2_15" --with-ant-home=/cygdrive/d/apache-ant-1.7.0 --with-use-shell=bash --disable-activex cd .. ./bootstrap # set the environment source <LinuxX86Env.Set> # otherwise the smoketest does not work! setenv PKGFORMAT rpm # build installation sets cd instsetoo_native build --all --dlv_switch -link -P10 -- -P10
Misc
- My Linux Desktop Architects Meeting II presentation slides: Media:DAM2-OOo_1_1.odp
- My OOo Conf 2006 presentation slides: Media:OOoConf_2006_Cleaning_Up_Multi-Threading.odp
- A short presentation prepared for the OOo BOF at EuroOSCON2006: Media:EuroOSCON2006-OOo_Architecture.odp
My Efforts
Effort/Revise OOo Multi-Threading
- Tasks
- review documentation, place tests and testers
- rename Environment.pReserved -> pEnterable
- do threading tests - with component, with the office
- convert rest of office services to be thread unsafe - in progress
- convert dtrans to thread affine?
- Rename Threading Model impl to Threading Framework?
- See if I can optimize the "identity mapping" somehow.
- Possible order of integration
- in progress : VCL thread-transparency 1 - vclthreadtransparency1 - depends: bunoexttm
- fix thread-affinity
- DDE
- Drag&Drop
- Clipboard
- open : Binary Uno new threading architecture - bunonewta - depends: bunoexttm
- in progress : async dialogs 2 - asyncdialogs2 - depends: asyncdialogs
- open : VCL thread-transparency 2 - vclthreadtransparency2 - depends: asyncdialogs2, vclthreadtransparency1
- remove the Solar Mutex
- open : new OOo threading architecture - ooonewta - depends: bunoexttm, vclthreadtransparency2
- in progress : VCL thread-transparency 1 - vclthreadtransparency1 - depends: bunoexttm
Move Uno stuff into the Uno Wiki. See Uno/Effort/Migrate Documentation
- Update udk.openoffice.org to reflect latest wiki changes.
Do a source code inventory
Some Links
Event Driven Programming
- Some comments regarding Linux kevents etc.: http://lwn.net/Articles/225714/ Note: In my understanding the whole discussion is senseless, the way to go for awaiting events should certainly not be fd related, but should just use something as "sigwait" or similar. Please see also Architecture/Proposal/Advanced_Threading-Architecture.
Threading
- OOo Threading-Architecture specification
- Architecture/Proposal/Advanced Threading-Architecture
- COM - Processes, Threads and Apartments - "The key is to use multiple threads only if you are very sure of what you are doing." - http://windowssdk.msdn.microsoft.com/en-us/library/ms693344.aspx
- Designing and Building Parallel Programs - http://www-unix.mcs.anl.gov/dbpp/
- The Future of Programming - http://alarmingdevelopment.org/index.php?p=6
- Programming in the Age of Concurrency: Software Transactional Memory - http://channel9.msdn.com/showpost.aspx?postid=231495
- The Problem with Threads - http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer/homepage/0506&file=cover.xml&xsl=article.xsl
- Threads and memory model for C++ - http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/
- Why Threads Are A Bad Idea (for most purposes) - http://home.pacbell.net/ouster/threads.pdf
- Swing: How to Use Threads - http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html
- A comment by Graham Hamilton on thread-safe toolkits - http://weblogs.java.net/blog/kgh/archive/2004/10/multithreaded_t.html
- An article on the future of CPUs, it comments on multi-threaded applications: http://www.informit.com/articles/article.asp?p=663085&seqNum=6&rl=1
- An article showing ways of utilizing SMP on UNIX: http://www.informit.com/articles/article.asp?p=679545&rl=1
- Futexes are Tricky - http://people.redhat.com/drepper/futex.pdf