Anda di halaman 1dari 13

<Insert Picture Here>

ISV Engineering (ISVe) : Solaris 11 Application Development

December 2011

2011 Oracle Corporation Proprietary and Confidential (V7) 1


Agenda

Solaris 11
Why <Insert Picture Here>
Compatibility
Changes

Studio 12
Compiler
New tools

Recommendations

2011 Oracle Corporation Proprietary and Confidential (V7) 2


Solaris 11: Why
Solaris 10 is still a great OS

Enterprise requirements for next generation OS


Terabytes of memory
Thousands of threads
Network and I/O support for 100GBs/sec
Cloud features built in

Supercluster, Exadata, Exalogic run Solaris 11

2011 Oracle Corporation Proprietary and Confidential (V7) 3


Solaris 11: Compatibility
Full binary compatibility
Apps must be dynamically linked
Only use documented APIs
Compatibility tools
Pre-flight checker
Runs on Solaris 10
Static binary/ELF analyzer
Source code analyzer
Runtime analyzer
Solaris 11 ISV adoption guide
Solaris 10 branded zones
Just in case

2011 Oracle Corporation Proprietary and Confidential (V7) 4


Solaris 11: Changes
Mainly at sysadmin level
No root login
ZFS now default and root file system
Useradd creates new file system for each user
Automount is on by default
Use SMF, avoid editing files under /etc
No more patches
IPS preferred over SVR4 packages
Auto Install replaces Jumpstart

Application warning
Default shell is bash (bin/sh linked to bash)
Ucb not installed by default, available in repository

2011 Oracle Corporation Proprietary and Confidential (V7) 5


Studio 12

2004 V8,V9
2005 Studio 10,11 64bit x86 on Solaris 10
2007 Studio 12
2009 Studio 12.1
2010 Studio 12.2
2011 Studio 12.3 Beta Code analyzer

2011 Oracle Corporation Proprietary and Confidential (V7) 6


Studio 12

Available for
Solaris 10 (x86,Sparc)
OEL 5
Redhat 5
SUSE 11

License free

Support contract available from Oracle

2011 Oracle Corporation Proprietary and Confidential (V7) 7


Studio 12

IDE with code-aware editor, workflow and projects


based on NetBeans 6.9.1
Tailored for single,multi-threaded and distributed app
development
Optimized for Sparc and x86
Enhanced math-routines
Compatible with Gnu C/C++
Source and Object level compatible with prior releases
Autoparallelization in single-threaded code
OpenMP 3.0 support

2011 Oracle Corporation Proprietary and Confidential (V7) 8


Studio 12: OMP example

#pragma omp parallel for shared(A,B,C, n) \


private(i,j,k,sum) num_threads(4)
for(i=0; i<n; i++){
for(j=0; j<n; j++){
sum=0;
for(k=0; k<n; k++) {
sum=sum+(A[i][k]*B[k][j]);
C[i][j]=sum;
}
}
}

2011 Oracle Corporation Proprietary and Confidential (V7) 9


Studio 12: Tools

Performance analyzer (includes MPI analyzer)


Uncover test coverage analysis
Thread analyzer
Deadlock detection
Detect data races
Two or more threads in a single process access the same memory location
concurrently
At least one of the accesses is for writing
The threads are not using any exclusive locks to control their accesses to that
memory
Code Analyzer: discover and uncover in one tool
Static analysis during compilation
Dynamic analysis during running

2011 Oracle Corporation Proprietary and Confidential (V7) 10


Studio 12: Tools (cont.)
Dbx debugger tailored for multi-threaded apps

Discover new memory debugger


Reading from and writing to unallocated memory
Accessing memory beyond allocated array bounds
Incorrect use of freed memory
Freeing the wrong memory blocks
Memory leaks

Dlight Dtrace GUI for full system and application


monitoring

2011 Oracle Corporation Proprietary and Confidential (V7) 11


Studio 12: Compiler changes

compat=4 flag is scheduled for EOL. Start removing it


from makefiles ...
Default compat=5 which is ANSI/ISO standards
compliant

2011 Oracle Corporation Proprietary and Confidential (V7) 12


Recommendations
Most customers are using Solaris 10 with zones
Develop on S11, but compile for QA on S10
QA within zone on Solaris 10
QA on native Solaris 11
Use Studio 12.3
Enable ZFS snapshots for easy rollback both on system
and user directories

2011 Oracle Corporation Proprietary and Confidential (V7) 13

Anda mungkin juga menyukai