最终还是决定花这200🔪一睹世界最强Distributed System 长什么样。感觉整个Network的趋势就是当programmable switches & NICs 有计算能力以后,大家在尝试offload计算到端 。
[Program Analysis] Intraprocedural Analysis
CHA analysis is used to make too conservative assumptions to the method call in the Intraprocedural Analysis. All the results of the analysis should be. save. According to the Lattice Theory, the must and may analysis should be less precise. So the Interprocedural Analysis to see the data flow in the BB and the Call Graph to see the data flow propagation between functions and raise the precision of the analysis is very important.
Continue reading "[Program Analysis] Intraprocedural Analysis"
Inside the Nvidia Hopper Architecture
Nvidia has a lot of talented architects, like Michael Andersch and Gregg Palmer, to design GPU. But Grace is just a glued arm GPU, shameful! But I don't think the idea of launching Grace is just an armv9 CPU, Nvidia has integrated TEE, CCA, UCIe into the CPU, and NVLink C2C, which is great. Nvidia is for real good at turning all the tech into business.
Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning
A command line string to the class constructor.
There's the demand of passing a name and doing the class construction of this name. I don't want to make the switch case on the construct. Let's do the hack!
I found the base implementation in stackoverflow.
template <class T> void* constructor() { return (void*)new T(); }
struct factory
{
typedef void*(*constructor_t)();
typedef std::map<std::string, constructor_t> map_type;
map_type m_classes;
template <class T>
void register_class(std::string const& n)
{ m_classes.insert(std::make_pair(n, &constructor<T>)); }
void* construct(std::string const& n)
{
map_type::iterator i = m_classes.find(n);
if (i == m_classes.end()) return 0; // or throw or whatever you want
return i->second();
}
};
factory g_factory;
#define REGISTER_CLASS(n) g_factory.register_class<n>(#n)
The problem is it does not allow the arg passing in construction. My class accepts the arguments module
.
template <class T, typename M_> void *constructor(M_ *module_) {
return (void *)new T{reinterpret_cast<M_ *>(module_)};
}
template <typename M_> struct arg_to_pass {
typedef void *(*constructor_t)(M_ *);
typedef std::map<std::string, constructor_t> map_type;
map_type m_classes;
M_ *module;
template <class T> void register_class(std::string const &n, M_ *&module_) {
module = module_;
m_classes.insert(std::make_pair(n, &constructor<T, M_>));
}
void *construct(std::string const &n) {
auto i = m_classes.find(n);
if (i == m_classes.end())
return nullptr; // or throw or whatever you want
return i->second(module);
}
};
arg_to_pass<Module> pass_factory;
#define REGISTER_CLASS(n, m_) pass_factory.register_class<n>(#n, m_)
This will resolve all the problem.
FusionFS: Fusing I/O Operations using $CISC_{Ops}$ in Firmware File Systems
The paper is joined work between my upperclassman Jian Zhang who's currently taking Ph.D. at Rutgers.
Current Hw-Sw co-design
- Hardware Trend
- Design a fast path to reduce latency.
- Software Trend
- Do kernel bypass/zero-copy
Good
FusionFS comes up with aggregated I/O ops into $CISC_{Ops}$, the fuses and offloads data ops are carried out on the co-processor on storage. These higher throughputs are gained with assurance to the resource management fairness, crash consistency, and fast recovery.
-
Kernel FS pushes all the W/R to the VFS Layer, this does not necessarily mean it's slow, often the time waiting for heavy-weighted Writeback, page cache is not hit, I/O queue locks waiting for the device ready, or deep VFS calls.
-
User FS may have some of the W/R intercepted and bypass the kernel. Some of the userspace semantic fusion is implemented using FUSE.
-
Device FS(Before CrossFS is Firmware FS) makes FS Lib directly call the firmware to wait until it can make DMA to memory.
- Good for Disaggregation & Concurrency throughput
- Mainly for NVM when speed is high, not applicable to SSDs
-
This paper used Compute Offloading, which is greatly applied in the SMartNIC. Storage plus the data processing makes transparent to the kernel, the kernel only needs to know some of the results is fused.
- write fusion
- read fusion
- data replacement for locality
- PolarDB - PCIe layer compute offloading. I think it could be replaced by CXL.
-
crc-append interpreted into CISCops
Basically, based on the predefined rules, the co-processor is able to fuse most of the data operations like LevelDB CRC, open read-write close.
-
CFS I/O scheduling.
-
Durability maintained by Micro Tx.
Bad
-
Large sequential data read/write will introduce preprocessor overhead, at least for data calculation and buffer store. Can pattern matching and make bypass the data processing.
-
This paper shared a lot of similar designs with CrossFS for resource management, durability, and Permission checks.
-
I'm curious why not implement the SSD main controller? It's meaningless to write on NVM because programmers must do handmade I/O fusion on such devices.
-
Performance is roughly the same with NOVA when with slow device CPU. I don't know if IO thread affinity and other kernel optimization are applied, the additional hardware has real benefits. However, the recovery speed is really quick because of MicroTx.
Refinement
- Still could apply kernel bypass over the FusionFS.
- SSD main controller/ Memory controller implementation is better than adding another CPU.
Reference
- POLARDB Meets Computational Storage: Efficiently Support AnalyticalWorkloads in Cloud-Native Relational Database
- CrossFS: A Cross-layered Direct-Access File System
ASPLOS 22 Attendency
这次被狠狠的砍了60🔪,由于早上还要上课,晚上还要玩一玩isc/asc,陪npy,所以是没什么时间读paper,都是直接现场听的,只听了自己感兴趣的,同事和未来老板聊了聊他提问了的talk。
Continue reading "ASPLOS 22 Attendency"VEE Workshop ‘2022
Haibo
History of virtualization
Increasing complxity and security vulnerabilities.
Example of AWS vulnerability
Attack Model
Possible Protection
Crossover
TrustZone on Arm + VMM
Use SW-HW Codesign
Session 1
CentOS 8 startup repo issue
You may jump into issues like
[root@tokio ~]# dnf update
CentOS-8 - AppStream 128 B/s | 38 B 00:00
Failed to download metadata for repo 'AppStream'
Error: Failed to download metadata for repo 'AppStream'
you need to
Last login: Mon Feb 28 02:01:55 2022 from 119.78.254.1
(reverse-i-search)`': ^C
[root@tokio ~]# nan o^C
[root@tokio ~]# curl -O
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
[root@tokio ~]# curl -O https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/centos-stream-release-8.5-2.el8.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 22216 100 22216 0 0 15279 0 0:00:01 0:00:01 --:--:-- 15268curl
[root@tokio ~]# curl -O https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-8-3.el8.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 19892 100 19892 0 0 16521 0 0:00:01 0:00:01 --:--:-- 16521lur
[root@tokio ~]# curl -O https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-3.el8.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 12552 100 12552 0 0 10330 0 0:00:01 0:00:01 --:--:-- 10330
[root@tokio ~]# rpm -i ./
anaconda-ks.cfg centos-stream-release-8.5-2.el8.noarch.rpm
.bash_history centos-stream-repos-8-3.el8.noarch.rpm
.bash_logout .cshrc
.bash_profile original-ks.cfg
.bashrc .ssh/
centos-gpg-keys-8-3.el8.noarch.rpm .tcshrc
[root@tokio ~]# rpm -i ./
anaconda-ks.cfg centos-stream-release-8.5-2.el8.noarch.rpm
.bash_history centos-stream-repos-8-3.el8.noarch.rpm
.bash_logout .cshrc
.bash_profile original-ks.cfg
.bashrc .ssh/
centos-gpg-keys-8-3.el8.noarch.rpm .tcshrc
[root@tokio ~]# rpm -i ./centos-gpg-keys-8-3.el8.noarch.rpm
warning: ./centos-gpg-keys-8-3.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
[root@tokio ~]# rpm -i ./centos-stream-repos-8-3.el8.noarch.rpm
warning: ./centos-stream-repos-8-3.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
error: Failed dependencies:
centos-repos(8) conflicts with centos-stream-repos-8-3.el8.noarch
[root@tokio ~]# nf re^C
[root@tokio ~]# dnf remove centos-repos
Dependencies resolved.
========================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================
Removing:
centos-repos x86_64 8.1-1.1911.0.8.el8 @anaconda 8.7 k
Removing dependent packages:
initscripts x86_64 10.00.4-1.el8 @anaconda 1.0 M
nfs-utils x86_64 1:2.3.3-26.el8 @anaconda 1.8 M
setup noarch 2.12.2-2.el8 @anaconda 707 k
shadow-utils x86_64 2:4.6-8.el8 @anaconda 5.1 M
Removing unused dependencies:
centos-gpg-keys noarch 8.1-1.1911.0.8.el8 @anaconda 3.3 k
centos-release x86_64 8.1-1.1911.0.8.el8 @anaconda 25 k
gssproxy x86_64 0.8.0-14.el8 @anaconda 393 k
keyutils x86_64 1.5.10-6.el8 @anaconda 115 k
libverto-libevent x86_64 0.3.0-5.el8 @anaconda 12 k
quota x86_64 1:4.04-10.el8 @anaconda 949 k
quota-nls noarch 1:4.04-10.el8 @anaconda 277 k
rpcbind x86_64 1.2.5-4.el8 @anaconda 137 k
Transaction Summary
========================================================================================================================
Remove 13 Packages
Freed space: 11 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: nfs-utils-1:2.3.3-26.el8.x86_64 1/1
Running scriptlet: nfs-utils-1:2.3.3-26.el8.x86_64 1/13
Erasing : nfs-utils-1:2.3.3-26.el8.x86_64 1/13
warning: file /var/lib/nfs/v4recovery: remove failed: No such file or directory
warning: file /var/lib/nfs/statd/sm.bak: remove failed: No such file or directory
warning: file /var/lib/nfs/statd/sm: remove failed: No such file or directory
warning: file /var/lib/nfs/statd: remove failed: No such file or directory
warning: directory /var/lib/nfs/rpc_pipefs: remove failed: Device or resource busy
Running scriptlet: nfs-utils-1:2.3.3-26.el8.x86_64 1/13
Running scriptlet: rpcbind-1.2.5-4.el8.x86_64 2/13
Erasing : rpcbind-1.2.5-4.el8.x86_64 2/13
Running scriptlet: rpcbind-1.2.5-4.el8.x86_64 2/13
Running scriptlet: initscripts-10.00.4-1.el8.x86_64 3/13
Erasing : initscripts-10.00.4-1.el8.x86_64 3/13
Running scriptlet: initscripts-10.00.4-1.el8.x86_64 3/13
Erasing : shadow-utils-2:4.6-8.el8.x86_64 4/13
Erasing : setup-2.12.2-2.el8.noarch 5/13
warning: /etc/shadow saved as /etc/shadow.rpmsave
warning: /etc/passwd saved as /etc/passwd.rpmsave
warning: /etc/gshadow saved as /etc/gshadow.rpmsave
warning: /etc/group saved as /etc/group.rpmsave
Erasing : centos-release-8.1-1.1911.0.8.el8.x86_64 6/13
Running scriptlet: centos-release-8.1-1.1911.0.8.el8.x86_64 6/13
Erasing : centos-repos-8.1-1.1911.0.8.el8.x86_64 7/13
Running scriptlet: gssproxy-0.8.0-14.el8.x86_64 8/13
Erasing : gssproxy-0.8.0-14.el8.x86_64 8/13
Running scriptlet: gssproxy-0.8.0-14.el8.x86_64 8/13
Erasing : quota-1:4.04-10.el8.x86_64 9/13
Erasing : quota-nls-1:4.04-10.el8.noarch 10/13
Erasing : centos-gpg-keys-8.1-1.1911.0.8.el8.noarch 11/13
Erasing : libverto-libevent-0.3.0-5.el8.x86_64 12/13
Erasing : keyutils-1.5.10-6.el8.x86_64 13/13
Running scriptlet: keyutils-1.5.10-6.el8.x86_64 13/13
Verifying : centos-gpg-keys-8.1-1.1911.0.8.el8.noarch 1/13
Verifying : centos-release-8.1-1.1911.0.8.el8.x86_64 2/13
Verifying : centos-repos-8.1-1.1911.0.8.el8.x86_64 3/13
Verifying : gssproxy-0.8.0-14.el8.x86_64 4/13
Verifying : initscripts-10.00.4-1.el8.x86_64 5/13
Verifying : keyutils-1.5.10-6.el8.x86_64 6/13
Verifying : libverto-libevent-0.3.0-5.el8.x86_64 7/13
Verifying : nfs-utils-1:2.3.3-26.el8.x86_64 8/13
Verifying : quota-1:4.04-10.el8.x86_64 9/13
Verifying : quota-nls-1:4.04-10.el8.noarch 10/13
Verifying : rpcbind-1.2.5-4.el8.x86_64 11/13
Verifying : setup-2.12.2-2.el8.noarch 12/13
Verifying : shadow-utils-2:4.6-8.el8.x86_64 13/13
Removed:
centos-repos-8.1-1.1911.0.8.el8.x86_64 initscripts-10.00.4-1.el8.x86_64 nfs-utils-1:2.3.3-26.el8.x86_64
setup-2.12.2-2.el8.noarch shadow-utils-2:4.6-8.el8.x86_64 centos-gpg-keys-8.1-1.1911.0.8.el8.noarch
centos-release-8.1-1.1911.0.8.el8.x86_64 gssproxy-0.8.0-14.el8.x86_64 keyutils-1.5.10-6.el8.x86_64
libverto-libevent-0.3.0-5.el8.x86_64 quota-1:4.04-10.el8.x86_64 quota-nls-1:4.04-10.el8.noarch
rpcbind-1.2.5-4.el8.x86_64
Complete!
[root@tokio ~]# dnf remove centos-repos^C
[root@tokio ~]# rpm -i ./
anaconda-ks.cfg centos-stream-release-8.5-2.el8.noarch.rpm
.bash_history centos-stream-repos-8-3.el8.noarch.rpm
.bash_logout .cshrc
.bash_profile original-ks.cfg
.bashrc .ssh/
centos-gpg-keys-8-3.el8.noarch.rpm .tcshrc
[root@tokio ~]# rpm -i ./centos-gpg-keys-8-3.el8.noarch.rpm
warning: ./centos-gpg-keys-8-3.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
package centos-gpg-keys-1:8-3.el8.noarch is already installed
[root@tokio ~]# rpm -i ./centos-stream-release-8.5-2.el8.noarch.rpm
warning: ./centos-stream-release-8.5-2.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
[root@tokio ~]# rpm -i ./centos-stream-repos-8-3.el8.noarch.rpm
warning: ./centos-stream-repos-8-3.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
[root@tokio ~]# yum update
CentOS Stream 8 - AppStream 6.0 MB/s | 20 MB 00:03
CentOS Stream 8 - BaseOS 6.1 MB/s | 19 MB 00:03
CentOS Stream 8 - Extras 15 kB/s | 18 kB 00:01
Dependencies resolved.
========================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================
Installing:
kernel x86_64 4.18.0-365.el8 baseos 7.7 M
kernel-core x86_64 4.18.0-365.el8 baseos 39 M
kernel-modules x86_64 4.18.0-365.el8 baseos 31 M
Upgrading:
authselect-compat x86_64 1.2.2-3.el8 appstream 38 k
libfastjson x86_64 0.99.9-1.el8 appstream 38 k
libmaxminddb x86_64 1.2.0-10.el8 appstream 33 k
libxkbcommon x86_64 0.9.1-1.el8 appstream 116 k
oddjob x86_64 0.34.7-1.el8 appstream 80 k
oddjob-mkhomedir x86_64 0.34.7-1.el8 appstream 49 k
plymouth x86_64 0.9.4-10.20200615git1e36e30.el8 appstream 127 k
plymouth-core-libs x86_64 0.9.4-10.20200615git1e36e30.el8 appstream 122 k
plymouth-scripts x86_64 0.9.4-10.20200615git1e36e30.el8 appstream 44 k
python3-newt x86_64 0.52.20-11.el8 appstream 64 k
python3-pyOpenSSL noarch 19.0.0-1.el8 appstream 103 k
python3-unbound x86_64 1.7.3-17.el8 appstream 119 k
rsyslog x86_64 8.2102.0-7.el8 appstream 752 k
unbound-libs x86_64 1.7.3-17.el8 appstream 503 k
xkeyboard-config noarch 2.28-1.el8 appstream 782 k
NetworkManager x86_64 1:1.36.0-0.9.el8 baseos 2.3 M
NetworkManager-libnm x86_64 1:1.36.0-0.9.el8 baseos 1.8 M
NetworkManager-team x86_64 1:1.36.0-0.9.el8 baseos 152 k
NetworkManager-tui x86_64 1:1.36.0-0.9.el8 baseos 345 k
audit x86_64 3.0.7-1.el8 baseos 263 k
audit-libs x86_64 3.0.7-1.el8 baseos 122 k
authselect x86_64 1.2.2-3.el8 baseos 133 k
authselect-libs x86_64 1.2.2-3.el8 baseos 222 k
bash x86_64 4.4.20-3.el8 baseos 1.5 M
bind-export-libs x86_64 32:9.11.36-2.el8 baseos 1.1 M
brotli x86_64 1.0.6-3.el8 baseos 323 k
c-ares x86_64 1.13.0-6.el8 baseos 93 k
ca-certificates noarch 2021.2.50-82.el8 baseos 390 k
centos-gpg-keys noarch 1:8-4.el8 baseos 12 k
centos-stream-release noarch 8.6-1.el8 baseos 22 k
centos-stream-repos noarch 8-4.el8 baseos 20 k
chkconfig x86_64 1.19.1-1.el8 baseos 198 k
chrony x86_64 4.1-1.el8 baseos 327 k
coreutils x86_64 8.30-12.el8 baseos 1.2 M
coreutils-common x86_64 8.30-12.el8 baseos 2.0 M
cpio x86_64 2.12-11.el8 baseos 266 k
cronie x86_64 1.5.2-6.el8 baseos 118 k
cronie-anacron x86_64 1.5.2-6.el8 baseos 42 k
crontabs noarch 1.11-17.20190603git.el8 baseos 25 k
crypto-policies noarch 20211116-1.gitae470d6.el8 baseos 64 k
cryptsetup-libs x86_64 2.3.7-1.el8 baseos 487 k
curl x86_64 7.61.1-22.el8 baseos 351 k
cyrus-sasl-lib x86_64 2.1.27-5.el8 baseos 123 k
dbus x86_64 1:1.12.8-18.el8 baseos 41 k
dbus-common noarch 1:1.12.8-18.el8 baseos 46 k
dbus-daemon x86_64 1:1.12.8-18.el8 baseos 240 k
dbus-libs x86_64 1:1.12.8-18.el8 baseos 184 k
dbus-tools x86_64 1:1.12.8-18.el8 baseos 85 k
device-mapper x86_64 8:1.02.181-3.el8 baseos 377 k
device-mapper-libs x86_64 8:1.02.181-3.el8 baseos 410 k
dhcp-client x86_64 12:4.3.6-47.el8.0.1 baseos 318 k
dhcp-common noarch 12:4.3.6-47.el8.0.1 baseos 207 k
dhcp-libs x86_64 12:4.3.6-47.el8.0.1 baseos 148 k
diffutils x86_64 3.6-6.el8 baseos 358 k
dmidecode x86_64 1:3.3-1.el8 baseos 92 k
dnf noarch 4.7.0-7.el8 baseos 544 k
dnf-data noarch 4.7.0-7.el8 baseos 155 k
dnf-plugins-core noarch 4.0.21-10.el8 baseos 71 k
dracut x86_64 049-201.git20220131.el8 baseos 376 k
dracut-config-rescue x86_64 049-201.git20220131.el8 baseos 61 k
dracut-network x86_64 049-201.git20220131.el8 baseos 109 k
dracut-squash x86_64 049-201.git20220131.el8 baseos 62 k
e2fsprogs x86_64 1.45.6-3.el8 baseos 1.0 M
e2fsprogs-libs x86_64 1.45.6-3.el8 baseos 233 k
elfutils-default-yama-scope noarch 0.186-1.el8 baseos 50 k
elfutils-libelf x86_64 0.186-1.el8 baseos 229 k
elfutils-libs x86_64 0.186-1.el8 baseos 295 k
ethtool x86_64 2:5.13-1.el8 baseos 219 k
expat x86_64 2.2.5-5.el8 baseos 112 k
file x86_64 5.33-20.el8 baseos 77 k
file-libs x86_64 5.33-20.el8 baseos 543 k
filesystem x86_64 3.8-6.el8 baseos 1.1 M
firewalld noarch 0.9.3-11.el8 baseos 503 k
firewalld-filesystem noarch 0.9.3-11.el8 baseos 78 k
freetype x86_64 2.9.1-4.el8_3.1 baseos 394 k
fuse-libs x86_64 2.9.7-14.el8 baseos 102 k
gawk x86_64 4.2.1-2.el8 baseos 1.1 M
glib2 x86_64 2.56.4-158.el8 baseos 2.5 M
glibc x86_64 2.28-189.el8 baseos 2.2 M
glibc-common x86_64 2.28-189.el8 baseos 1.3 M
glibc-langpack-en x86_64 2.28-189.el8 baseos 834 k
gnupg2 x86_64 2.2.20-2.el8 baseos 2.4 M
gnupg2-smime x86_64 2.2.20-2.el8 baseos 283 k
gnutls x86_64 3.6.16-4.el8 baseos 1.0 M
gpgme x86_64 1.13.1-11.el8 baseos 336 k
grub2-common noarch 1:2.02-106.el8 baseos 891 k
grub2-pc x86_64 1:2.02-106.el8 baseos 42 k
grub2-pc-modules noarch 1:2.02-106.el8 baseos 916 k
grub2-tools x86_64 1:2.02-106.el8 baseos 2.0 M
grub2-tools-extra x86_64 1:2.02-106.el8 baseos 1.1 M
grub2-tools-minimal x86_64 1:2.02-106.el8 baseos 210 k
grubby x86_64 8.40-42.el8 baseos 49 k
gzip x86_64 1.9-12.el8 baseos 167 k
hdparm x86_64 9.54-4.el8 baseos 100 k
hostname x86_64 3.20-7.el8.0.1 baseos 32 k
hwdata noarch 0.314-8.12.el8 baseos 1.7 M
ima-evm-utils x86_64 1.3.2-12.el8 baseos 64 k
info x86_64 6.5-7.el8_5 baseos 198 k
ipcalc x86_64 0.2.4-4.el8 baseos 38 k
iproute x86_64 5.15.0-3.el8 baseos 796 k
iprutils x86_64 2.4.19-1.el8 baseos 255 k
iptables x86_64 1.8.4-22.el8 baseos 584 k
iptables-ebtables x86_64 1.8.4-22.el8 baseos 72 k
iptables-libs x86_64 1.8.4-22.el8 baseos 108 k
iputils x86_64 20180629-9.el8 baseos 148 k
irqbalance x86_64 2:1.4.0-6.el8 baseos 56 k
iwl100-firmware noarch 39.31.5.1-106.el8.1 baseos 174 k
iwl1000-firmware noarch 1:39.31.5.1-106.el8.1 baseos 237 k
iwl105-firmware noarch 18.168.6.1-106.el8.1 baseos 258 k
iwl135-firmware noarch 18.168.6.1-106.el8.1 baseos 267 k
iwl2000-firmware noarch 18.168.6.1-106.el8.1 baseos 261 k
iwl2030-firmware noarch 18.168.6.1-106.el8.1 baseos 269 k
iwl3160-firmware noarch 1:25.30.13.0-106.el8.1 baseos 1.7 M
iwl3945-firmware noarch 15.32.2.9-106.el8.1 baseos 112 k
iwl4965-firmware noarch 228.61.2.24-106.el8.1 baseos 125 k
iwl5000-firmware noarch 8.83.5.1_1-106.el8.1 baseos 318 k
iwl5150-firmware noarch 8.24.2.2-106.el8.1 baseos 170 k
iwl6000-firmware noarch 9.221.4.1-106.el8.1 baseos 191 k
iwl6000g2a-firmware noarch 18.168.6.1-106.el8.1 baseos 334 k
iwl6050-firmware noarch 41.28.5.1-106.el8.1 baseos 267 k
iwl7260-firmware noarch 1:25.30.13.0-106.el8.1 baseos 23 M
jansson x86_64 2.14-1.el8 baseos 47 k
json-c x86_64 0.13.1-3.el8 baseos 41 k
kbd x86_64 2.0.4-10.el8 baseos 390 k
kbd-legacy noarch 2.0.4-10.el8 baseos 481 k
kbd-misc noarch 2.0.4-10.el8 baseos 1.5 M
kernel-tools x86_64 4.18.0-365.el8 baseos 7.9 M
kernel-tools-libs x86_64 4.18.0-365.el8 baseos 7.7 M
kexec-tools x86_64 2.0.20-68.el8 baseos 523 k
keyutils-libs x86_64 1.5.10-9.el8 baseos 34 k
kmod x86_64 25-19.el8 baseos 126 k
kmod-libs x86_64 25-19.el8 baseos 68 k
kpartx x86_64 0.8.4-22.el8 baseos 114 k
krb5-libs x86_64 1.18.2-14.el8 baseos 840 k
libarchive x86_64 3.3.3-3.el8_5 baseos 360 k
libblkid x86_64 2.32.1-32.el8 baseos 218 k
libcap x86_64 2.48-2.el8 baseos 74 k
libcap-ng x86_64 0.7.11-1.el8 baseos 33 k
libcom_err x86_64 1.45.6-3.el8 baseos 49 k
libcomps x86_64 0.1.18-1.el8 baseos 82 k
libcroco x86_64 0.6.12-4.el8_2.1 baseos 113 k
libcurl x86_64 7.61.1-22.el8 baseos 301 k
libdb x86_64 5.3.28-42.el8_4 baseos 751 k
libdb-utils x86_64 5.3.28-42.el8_4 baseos 150 k
libdnf x86_64 0.63.0-7.el8 baseos 701 k
libfdisk x86_64 2.32.1-32.el8 baseos 252 k
libffi x86_64 3.1-23.el8 baseos 37 k
libgcc x86_64 8.5.0-10.el8 baseos 80 k
libgcrypt x86_64 1.8.5-6.el8 baseos 463 k
libgomp x86_64 8.5.0-10.el8 baseos 207 k
libkcapi x86_64 1.2.0-2.el8 baseos 48 k
libkcapi-hmaccalc x86_64 1.2.0-2.el8 baseos 31 k
libldb x86_64 2.4.1-1.el8 baseos 188 k
libmodulemd1 x86_64 1.8.16-0.2.13.0.1 baseos 176 k
libmount x86_64 2.32.1-32.el8 baseos 235 k
libndp x86_64 1.7-6.el8 baseos 40 k
libnfsidmap x86_64 1:2.3.3-50.el8 baseos 121 k
libnftnl x86_64 1.1.5-5.el8 baseos 83 k
libnghttp2 x86_64 1.33.0-3.el8_2.1 baseos 77 k
libnl3 x86_64 3.5.0-1.el8 baseos 320 k
libnl3-cli x86_64 3.5.0-1.el8 baseos 193 k
libpcap x86_64 14:1.9.1-5.el8 baseos 169 k
libpsl x86_64 0.20.2-6.el8 baseos 61 k
libpwquality x86_64 1.4.4-3.el8 baseos 107 k
librepo x86_64 1.14.2-1.el8 baseos 93 k
libreport-filesystem x86_64 2.9.5-15.el8 baseos 21 k
libseccomp x86_64 2.5.2-1.el8 baseos 71 k
libselinux x86_64 2.9-5.el8 baseos 165 k
libselinux-utils x86_64 2.9-5.el8 baseos 243 k
libsemanage x86_64 2.9-6.el8 baseos 165 k
libsepol x86_64 2.9-3.el8 baseos 340 k
libsmartcols x86_64 2.32.1-32.el8 baseos 178 k
libsolv x86_64 0.7.20-1.el8 baseos 375 k
libss x86_64 1.45.6-3.el8 baseos 54 k
libssh x86_64 0.9.6-3.el8 baseos 216 k
libssh-config noarch 0.9.6-3.el8 baseos 19 k
libsss_autofs x86_64 2.6.1-2.el8 baseos 119 k
libsss_certmap x86_64 2.6.1-2.el8 baseos 162 k
libsss_idmap x86_64 2.6.1-2.el8 baseos 121 k
libsss_nss_idmap x86_64 2.6.1-2.el8 baseos 128 k
libsss_sudo x86_64 2.6.1-2.el8 baseos 117 k
libstdc++ x86_64 8.5.0-10.el8 baseos 453 k
libsysfs x86_64 2.1.0-25.el8 baseos 53 k
libtalloc x86_64 2.3.3-1.el8 baseos 49 k
libtdb x86_64 1.4.4-1.el8 baseos 59 k
libteam x86_64 1.31-2.el8 baseos 64 k
libtevent x86_64 0.11.0-0.el8 baseos 50 k
libtirpc x86_64 1.1.4-6.el8 baseos 113 k
libusbx x86_64 1.0.23-4.el8 baseos 74 k
libuser x86_64 0.62-24.el8 baseos 414 k
libuuid x86_64 2.32.1-32.el8 baseos 97 k
libxcrypt x86_64 4.1.1-6.el8 baseos 73 k
libxml2 x86_64 2.9.7-11.el8 baseos 696 k
linux-firmware noarch 20220210-106.git6342082c.el8 baseos 194 M
logrotate x86_64 3.14.0-4.el8 baseos 86 k
lshw x86_64 B.02.19.2-6.el8 baseos 341 k
lsscsi x86_64 0.32-3.el8 baseos 71 k
lua-libs x86_64 5.3.4-12.el8 baseos 118 k
lz4-libs x86_64 1.8.3-3.el8_4 baseos 66 k
man-db x86_64 2.7.6.1-18.el8 baseos 887 k
microcode_ctl x86_64 4:20220207-1.el8 baseos 5.5 M
mozjs60 x86_64 60.9.0-4.el8 baseos 6.6 M
ncurses x86_64 6.1-9.20180224.el8 baseos 387 k
ncurses-base noarch 6.1-9.20180224.el8 baseos 81 k
ncurses-libs x86_64 6.1-9.20180224.el8 baseos 334 k
net-tools x86_64 2.0-0.52.20160912git.el8 baseos 322 k
nettle x86_64 3.4.1-7.el8 baseos 301 k
newt x86_64 0.52.20-11.el8 baseos 121 k
nftables x86_64 1:0.9.3-24.el8 baseos 323 k
numactl-libs x86_64 2.0.12-13.el8 baseos 36 k
openldap x86_64 2.4.46-18.el8 baseos 352 k
openssh x86_64 8.0p1-12.el8 baseos 522 k
openssh-clients x86_64 8.0p1-12.el8 baseos 668 k
openssh-server x86_64 8.0p1-12.el8 baseos 491 k
openssl x86_64 1:1.1.1k-5.el8_5 baseos 709 k
openssl-libs x86_64 1:1.1.1k-5.el8_5 baseos 1.5 M
openssl-pkcs11 x86_64 0.4.10-2.el8 baseos 66 k
os-prober x86_64 1.74-9.el8 baseos 51 k
p11-kit x86_64 0.23.22-1.el8 baseos 324 k
p11-kit-trust x86_64 0.23.22-1.el8 baseos 137 k
pam x86_64 1.3.1-16.el8 baseos 739 k
parted x86_64 3.2-39.el8 baseos 555 k
passwd x86_64 0.80-4.el8 baseos 115 k
pciutils-libs x86_64 3.7.0-1.el8 baseos 54 k
pcre x86_64 8.42-6.el8 baseos 211 k
pcre2 x86_64 10.32-2.el8 baseos 246 k
pigz x86_64 2.4-4.el8 baseos 79 k
platform-python x86_64 3.6.8-45.el8 baseos 85 k
platform-python-pip noarch 9.0.3-22.el8 baseos 1.6 M
platform-python-setuptools noarch 39.2.0-6.el8 baseos 632 k
policycoreutils x86_64 2.9-18.el8 baseos 375 k
polkit x86_64 0.115-13.el8_5.1 baseos 154 k
polkit-libs x86_64 0.115-13.el8_5.1 baseos 76 k
popt x86_64 1.18-1.el8 baseos 61 k
procps-ng x86_64 3.3.15-6.el8 baseos 329 k
psmisc x86_64 23.1-5.el8 baseos 151 k
python3-cryptography x86_64 3.2.1-5.el8 baseos 559 k
python3-dnf noarch 4.7.0-7.el8 baseos 545 k
python3-dnf-plugins-core noarch 4.0.21-10.el8 baseos 230 k
python3-firewall noarch 0.9.3-11.el8 baseos 433 k
python3-gobject-base x86_64 3.28.3-2.el8 baseos 313 k
python3-gpg x86_64 1.13.1-11.el8 baseos 244 k
python3-hawkey x86_64 0.63.0-7.el8 baseos 116 k
python3-libcomps x86_64 0.1.18-1.el8 baseos 52 k
python3-libdnf x86_64 0.63.0-7.el8 baseos 778 k
python3-librepo x86_64 1.14.2-1.el8 baseos 53 k
python3-libs x86_64 3.6.8-45.el8 baseos 7.8 M
python3-libselinux x86_64 2.9-5.el8 baseos 283 k
python3-libxml2 x86_64 2.9.7-11.el8 baseos 237 k
python3-linux-procfs noarch 0.7.0-1.el8 baseos 42 k
python3-perf x86_64 4.18.0-365.el8 baseos 7.9 M
python3-pip-wheel noarch 9.0.3-22.el8 baseos 895 k
python3-ply noarch 3.9-9.el8 baseos 111 k
python3-rpm x86_64 4.14.3-22.el8 baseos 155 k
python3-setuptools-wheel noarch 39.2.0-6.el8 baseos 289 k
python3-syspurpose x86_64 1.28.25-1.el8 baseos 324 k
rng-tools x86_64 6.14-4.git.b2b7934e.el8 baseos 72 k
rpm x86_64 4.14.3-22.el8 baseos 543 k
rpm-build-libs x86_64 4.14.3-22.el8 baseos 157 k
rpm-libs x86_64 4.14.3-22.el8 baseos 345 k
rpm-plugin-selinux x86_64 4.14.3-22.el8 baseos 77 k
rpm-plugin-systemd-inhibit x86_64 4.14.3-22.el8 baseos 79 k
sed x86_64 4.5-5.el8 baseos 298 k
selinux-policy noarch 3.14.3-92.el8 baseos 643 k
selinux-policy-targeted noarch 3.14.3-92.el8 baseos 15 M
sg3_utils x86_64 1.44-5.el8 baseos 917 k
sg3_utils-libs x86_64 1.44-5.el8 baseos 99 k
snappy x86_64 1.1.8-3.el8 baseos 37 k
sqlite-libs x86_64 3.26.0-15.el8 baseos 581 k
squashfs-tools x86_64 4.3-20.el8 baseos 165 k
sssd-client x86_64 2.6.1-2.el8 baseos 224 k
sssd-common x86_64 2.6.1-2.el8 baseos 1.6 M
sssd-kcm x86_64 2.6.1-2.el8 baseos 250 k
sssd-nfs-idmap x86_64 2.6.1-2.el8 baseos 118 k
sudo x86_64 1.8.29-8.el8 baseos 925 k
systemd x86_64 239-58.el8 baseos 3.6 M
systemd-libs x86_64 239-58.el8 baseos 1.1 M
systemd-pam x86_64 239-58.el8 baseos 483 k
systemd-udev x86_64 239-58.el8 baseos 1.6 M
teamd x86_64 1.31-2.el8 baseos 130 k
trousers x86_64 0.3.15-1.el8 baseos 152 k
trousers-lib x86_64 0.3.15-1.el8 baseos 168 k
tuned noarch 2.18.0-2.el8 baseos 316 k
tzdata noarch 2021e-1.el8 baseos 474 k
util-linux x86_64 2.32.1-32.el8 baseos 2.5 M
vim-minimal x86_64 2:8.0.1763-16.el8_5.12 baseos 575 k
virt-what x86_64 1.18-13.el8 baseos 36 k
which x86_64 2.21-17.el8 baseos 49 k
xfsprogs x86_64 5.0.0-10.el8 baseos 1.1 M
yum noarch 4.7.0-7.el8 baseos 201 k
zlib x86_64 1.2.11-17.el8 baseos 102 k
Installing dependencies:
grub2-tools-efi x86_64 1:2.02-106.el8 baseos 474 k
initscripts x86_64 10.00.17-1.el8 baseos 340 k
libbpf x86_64 0.4.0-3.el8 baseos 125 k
libibverbs x86_64 37.2-1.el8 baseos 384 k
libmodulemd x86_64 2.13.0-1.el8 baseos 233 k
libzstd x86_64 1.4.4-1.el8 baseos 266 k
lmdb-libs x86_64 0.9.24-1.el8 baseos 58 k
python3-nftables x86_64 1:0.9.3-24.el8 baseos 29 k
setup noarch 2.12.2-6.el8 baseos 181 k
shadow-utils x86_64 2:4.6-16.el8 baseos 1.2 M
tpm2-tss x86_64 2.3.2-4.el8 baseos 275 k
Installing weak dependencies:
glibc-gconv-extra x86_64 2.28-189.el8 appstream 1.5 M
crypto-policies-scripts noarch 20211116-1.gitae470d6.el8 baseos 83 k
elfutils-debuginfod-client x86_64 0.186-1.el8 baseos 71 k
memstrack x86_64 0.1.11-1.el8 baseos 48 k
Transaction Summary
========================================================================================================================
Install 18 Packages
Upgrade 291 Packages
Total download size: 463 M
Is this ok [y/N]: y
Downloading Packages:
Everything goes fine
[Program Analysis] Control Flow Graph
想了一下,这课最好的上法还是顺便学一下soot这个框架,感觉和LLVM有类似也有不同,由于生成的是jvm栈机以及可以调用jni这种ffi related stuff。是故边学边玩。